aboutsummaryrefslogtreecommitdiff
path: root/src/microhttpd/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'src/microhttpd/Makefile.am')
-rw-r--r--src/microhttpd/Makefile.am176
1 files changed, 176 insertions, 0 deletions
diff --git a/src/microhttpd/Makefile.am b/src/microhttpd/Makefile.am
new file mode 100644
index 00000000..dbf3bac8
--- /dev/null
+++ b/src/microhttpd/Makefile.am
@@ -0,0 +1,176 @@
+# This Makefile.am is in the public domain
+AM_CPPFLAGS = \
+ -I$(top_srcdir)/src/include \
+ -I$(top_srcdir)/src/microhttpd
+
+AM_CFLAGS = $(HIDDEN_VISIBILITY_CFLAGS)
+
+if HAVE_W32
+MHD_W32_LIB = $(top_builddir)/src/platform/libplatform_interface.la
+endif
+
+lib_LTLIBRARIES = \
+ libmicrohttpd.la
+
+noinst_DATA =
+MOSTLYCLEANFILES =
+
+if W32_SHARED_LIB_EXP
+W32_MHD_LIB_LDFLAGS = -Wl,--output-def,$(lt_cv_objdir)/libmicrohttpd.def -XCClinker -static-libgcc
+noinst_DATA += $(lt_cv_objdir)/libmicrohttpd.lib $(lt_cv_objdir)/libmicrohttpd.def $(lt_cv_objdir)/libmicrohttpd.exp
+MOSTLYCLEANFILES += $(lt_cv_objdir)/libmicrohttpd.lib $(lt_cv_objdir)/libmicrohttpd.def $(lt_cv_objdir)/libmicrohttpd.exp
+
+$(lt_cv_objdir)/libmicrohttpd.def: libmicrohttpd.la
+
+$(lt_cv_objdir)/libmicrohttpd.exp: $(lt_cv_objdir)/libmicrohttpd.lib
+
+$(lt_cv_objdir)/libmicrohttpd.lib: $(lt_cv_objdir)/libmicrohttpd.def libmicrohttpd.la $(libmicrohttpd_la_OBJECTS)
+if USE_MS_LIB_TOOL
+ @echo Creating $@ and libmicrohttpd.exp by $(MS_LIB_TOOL)... && \
+ dll_name=`$(EGREP) -o dlname=\'.+\' libmicrohttpd.la` && \
+ dll_name=$${dll_name#*\'} && dll_name=$${dll_name%\'} && test -n "$$dll_name" && \
+ echo Creating $$dll_name by $(MS_LIB_TOOL).. && cd "$(lt_cv_objdir)" && \
+ $(MS_LIB_TOOL) -def:libmicrohttpd.def -name:$$dll_name -out:libmicrohttpd.lib $(libmicrohttpd_la_OBJECTS:.lo=.o) && cd ..
+else
+ @echo Creating $@ and libmicrohttpd.exp by $(DLLTOOL)... && \
+ dll_name=`$(EGREP) -o dlname=\'.+\' libmicrohttpd.la` && \
+ dll_name=$${dll_name#*\'} && dll_name=$${dll_name%\'} && test -n "$$dll_name" && \
+ echo Creating $$dll_name by $(DLLTOOL).. && cd "$(lt_cv_objdir)" && \
+ $(DLLTOOL) -d ./libmicrohttpd.def -D $$dll_name -l libmicrohttpd.lib $(libmicrohttpd_la_OBJECTS:.lo=.o) -e ./libmicrohttpd.exp && cd .. &&\
+ echo Created libmicrohttpd.exp and libmicrohttpd.lib.
+endif
+else
+ W32_MHD_LIB_LDFLAGS =
+endif
+
+if W32_STATIC_LIB
+noinst_DATA += $(lt_cv_objdir)/libmicrohttpd-static.lib
+MOSTLYCLEANFILES += $(lt_cv_objdir)/libmicrohttpd-static.lib
+
+$(lt_cv_objdir)/libmicrohttpd-static.lib: libmicrohttpd.la $(libmicrohttpd_la_OBJECTS)
+if USE_MS_LIB_TOOL
+ $(MS_LIB_TOOL) -out:$@ $(libmicrohttpd_la_OBJECTS:.lo=.o)
+else
+ cp $(lt_cv_objdir)/libmicrohttpd.a $@
+endif
+endif
+
+
+libmicrohttpd_la_SOURCES = \
+ connection.c connection.h \
+ reason_phrase.c reason_phrase.h \
+ daemon.c \
+ internal.c internal.h \
+ memorypool.c memorypool.h \
+ response.c response.h
+libmicrohttpd_la_CPPFLAGS = \
+ $(AM_CPPFLAGS) $(MHD_LIB_CPPFLAGS) \
+ -DBUILDING_MHD_LIB=1
+libmicrohttpd_la_CFLAGS = \
+ $(AM_CFLAGS) $(MHD_LIB_CFLAGS)
+libmicrohttpd_la_LDFLAGS = \
+ $(MHD_LIB_LDFLAGS) \
+ $(W32_MHD_LIB_LDFLAGS) \
+ -version-info @LIB_VERSION_CURRENT@:@LIB_VERSION_REVISION@:@LIB_VERSION_AGE@
+libmicrohttpd_la_LIBADD = \
+ $(MHD_W32_LIB) $(MHD_LIBDEPS)
+libmicrohttpd_la_DEPENDENCIES = \
+ $(MHD_W32_LIB)
+
+if HAVE_W32
+MHD_DLL_RES_SRC = microhttpd_dll_res.rc
+MHD_DLL_RES_LO = libmicrohttpd_la-$(MHD_DLL_RES_SRC:.rc=.lo)
+
+EXTRA_libmicrohttpd_la_DEPENDENCIES = $(MHD_DLL_RES_LO)
+libmicrohttpd_la_LIBADD += $(MHD_DLL_RES_LO)
+
+# General rule is not required, but keep it just in case
+.rc.lo:
+ $(LIBTOOL) $(AM_V_lt) --tag=RC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(RC) $(RCFLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $< -o $@
+
+# To add dll resource only to .dll file and exclude it form static
+# lib, a little trick was used. Allow libtool to create file.lo,
+# file.o and .libs/file.lo, .libs/file.o files, then overwrite file.o
+# by empty object generated from empty c-file. Later libtool will
+# use .libs/file.o for shared lib and empty file.o for static lib.
+# This implementation is based on trick found in liblzma.
+# Note: windres does not understand '-isystem' flag, so all
+# possible '-isystem' flags are replaced by simple '-I' flags.
+$(MHD_DLL_RES_LO): $(MHD_DLL_RES_SRC)
+ RC_CPP_FLAGS=" $(DEFAULT_INCLUDES) $(INCLUDES) $(libmicrohttpd_la_CPPFLAGS) $(CPPFLAGS) " && \
+ $(LIBTOOL) $(AM_V_lt) --tag=RC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(RC) $(RCFLAGS) $(DEFS) $${RC_CPP_FLAGS// -isystem / -I } $< -o $@ && \
+ echo > $@-empty.c && $(CC) $(AM_CFLAGS) $(CFLAGS) -c $@-empty.c -o $(@:.lo=.o) && rm -f $@-empty.c
+endif
+
+if USE_COVERAGE
+ AM_CFLAGS += --coverage
+endif
+
+if !HAVE_TSEARCH
+libmicrohttpd_la_SOURCES += \
+ tsearch.c tsearch.h
+endif
+
+if HAVE_POSTPROCESSOR
+libmicrohttpd_la_SOURCES += \
+ postprocessor.c
+endif
+
+if ENABLE_DAUTH
+libmicrohttpd_la_SOURCES += \
+ digestauth.c \
+ md5.c md5.h
+endif
+
+if ENABLE_BAUTH
+libmicrohttpd_la_SOURCES += \
+ basicauth.c \
+ base64.c base64.h
+endif
+
+if ENABLE_HTTPS
+libmicrohttpd_la_SOURCES += \
+ connection_https.c connection_https.h
+endif
+
+
+
+check_PROGRAMS = \
+ test_daemon
+
+if HAVE_POSTPROCESSOR
+check_PROGRAMS += \
+ test_postprocessor \
+ test_postprocessor_large \
+ test_postprocessor_amp
+endif
+
+TESTS = $(check_PROGRAMS)
+
+test_daemon_SOURCES = \
+ test_daemon.c
+test_daemon_LDADD = \
+ $(top_builddir)/src/microhttpd/libmicrohttpd.la
+
+test_postprocessor_SOURCES = \
+ test_postprocessor.c
+test_postprocessor_CPPFLAGS = \
+ $(AM_CPPFLAGS) $(GNUTLS_CPPFLAGS)
+test_postprocessor_LDADD = \
+ $(top_builddir)/src/microhttpd/libmicrohttpd.la \
+ $(MHD_W32_LIB)
+
+test_postprocessor_amp_SOURCES = \
+ test_postprocessor_amp.c
+test_postprocessor_amp_CPPFLAGS = \
+ $(AM_CPPFLAGS) $(GNUTLS_CPPFLAGS)
+test_postprocessor_amp_LDADD = \
+ $(top_builddir)/src/microhttpd/libmicrohttpd.la
+
+test_postprocessor_large_SOURCES = \
+ test_postprocessor_large.c
+test_postprocessor_large_CPPFLAGS = \
+ $(AM_CPPFLAGS) $(GNUTLS_CPPFLAGS)
+test_postprocessor_large_LDADD = \
+ $(top_builddir)/src/microhttpd/libmicrohttpd.la \
+ $(MHD_W32_LIB)