diff options
author | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2021-12-14 18:23:06 +0300 |
---|---|---|
committer | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2021-12-14 18:23:06 +0300 |
commit | de383203d4d7921bf331510bc898ab88c5844731 (patch) | |
tree | b98bba15684bc005be0fd7aacbfc87aa890161e8 /src | |
parent | 21be8eccb987b6d5fe05d3827ff97c23b8e630cc (diff) | |
download | libmicrohttpd-de383203d4d7921bf331510bc898ab88c5844731.tar.gz libmicrohttpd-de383203d4d7921bf331510bc898ab88c5844731.zip |
Reworked dlltool supported.
* Added support for weakened oversimplified half-broken llvm-dlltool
* Streamlined makefile receipts for W32 .dll and related files
* Added support for verbose/silent makefile rules
* Removed redundant printing from makefile
* Added makefile receipts for proper generation of all required files
* Silenced MS lib warning
* Silenced MS lib invocation
Diffstat (limited to 'src')
-rw-r--r-- | src/microhttpd/Makefile.am | 45 |
1 files changed, 32 insertions, 13 deletions
diff --git a/src/microhttpd/Makefile.am b/src/microhttpd/Makefile.am index a98fbd9e..cbb6c8c8 100644 --- a/src/microhttpd/Makefile.am +++ b/src/microhttpd/Makefile.am | |||
@@ -1,4 +1,5 @@ | |||
1 | # This Makefile.am is in the public domain | 1 | # This Makefile.am is in the public domain |
2 | |||
2 | AM_CPPFLAGS = \ | 3 | AM_CPPFLAGS = \ |
3 | -I$(top_srcdir)/src/include \ | 4 | -I$(top_srcdir)/src/include \ |
4 | -I$(top_srcdir)/src/microhttpd | 5 | -I$(top_srcdir)/src/microhttpd |
@@ -12,28 +13,46 @@ noinst_DATA = | |||
12 | MOSTLYCLEANFILES = | 13 | MOSTLYCLEANFILES = |
13 | 14 | ||
14 | if W32_SHARED_LIB_EXP | 15 | if W32_SHARED_LIB_EXP |
16 | AM_V_DLLTOOL = $(am__v_DLLTOOL_$(V)) | ||
17 | am__v_DLLTOOL_ = $(am__v_DLLTOOL_$(AM_DEFAULT_VERBOSITY)) | ||
18 | am__v_DLLTOOL_0 = @echo " DLLTOOL " $@; | ||
19 | am__v_DLLTOOL_1 = | ||
20 | |||
21 | AM_V_LIB = $(am__v_LIB_$(V)) | ||
22 | am__v_LIB_ = $(am__v_LIB_$(AM_DEFAULT_VERBOSITY)) | ||
23 | am__v_LIB_0 = @echo " LIB " $@; | ||
24 | am__v_LIB_1 = | ||
25 | |||
15 | W32_MHD_LIB_LDFLAGS = -Wl,--output-def,$(lt_cv_objdir)/libmicrohttpd.def -XCClinker -static-libgcc | 26 | W32_MHD_LIB_LDFLAGS = -Wl,--output-def,$(lt_cv_objdir)/libmicrohttpd.def -XCClinker -static-libgcc |
16 | noinst_DATA += $(lt_cv_objdir)/libmicrohttpd.lib $(lt_cv_objdir)/libmicrohttpd.def $(lt_cv_objdir)/libmicrohttpd.exp | 27 | noinst_DATA += $(lt_cv_objdir)/libmicrohttpd.lib $(lt_cv_objdir)/libmicrohttpd.def |
17 | MOSTLYCLEANFILES += $(lt_cv_objdir)/libmicrohttpd.lib $(lt_cv_objdir)/libmicrohttpd.def $(lt_cv_objdir)/libmicrohttpd.exp | 28 | MOSTLYCLEANFILES += $(lt_cv_objdir)/libmicrohttpd.lib $(lt_cv_objdir)/libmicrohttpd.def $(lt_cv_objdir)/libmicrohttpd.exp |
18 | 29 | ||
19 | $(lt_cv_objdir)/libmicrohttpd.def: libmicrohttpd.la | 30 | $(lt_cv_objdir)/libmicrohttpd.def: libmicrohttpd.la |
31 | $(AM_V_at)test -f $@ && touch $@ || \ | ||
32 | ( rm -f libmicrohttpd.la ; $(MAKE) $(AM_MAKEFLAGS) libmicrohttpd.la && touch $@ ) | ||
33 | |||
34 | if USE_EXPORT_FILE | ||
35 | noinst_DATA += $(lt_cv_objdir)/libmicrohttpd.exp | ||
20 | 36 | ||
21 | $(lt_cv_objdir)/libmicrohttpd.exp: $(lt_cv_objdir)/libmicrohttpd.lib | 37 | $(lt_cv_objdir)/libmicrohttpd.exp: $(lt_cv_objdir)/libmicrohttpd.lib |
38 | $(AM_V_at)test -f $@ && touch $@ || \ | ||
39 | ( rm -f $(lt_cv_objdir)/libmicrohttpd.lib ; $(MAKE) $(AM_MAKEFLAGS) $(lt_cv_objdir)/libmicrohttpd.lib && touch $@ ) | ||
40 | endif | ||
22 | 41 | ||
23 | $(lt_cv_objdir)/libmicrohttpd.lib: $(lt_cv_objdir)/libmicrohttpd.def libmicrohttpd.la $(libmicrohttpd_la_OBJECTS) | ||
24 | if USE_MS_LIB_TOOL | 42 | if USE_MS_LIB_TOOL |
25 | @echo Creating $@ and libmicrohttpd.exp by $(MS_LIB_TOOL)... && \ | 43 | $(lt_cv_objdir)/libmicrohttpd.lib: $(lt_cv_objdir)/libmicrohttpd.def libmicrohttpd.la $(libmicrohttpd_la_OBJECTS) |
26 | dll_name=`$(EGREP) -o dlname=\'.+\' libmicrohttpd.la` && \ | 44 | $(AM_V_at)$(AM_V_LIB) cd "$(lt_cv_objdir)" && dll_name=`$(SED) -n -e "s/^dlname='\(.*\)'/\1/p" libmicrohttpd.la` && test -n "$$dll_name" && \ |
27 | dll_name=$${dll_name#*\'} && dll_name=$${dll_name%\'} && test -n "$$dll_name" && \ | 45 | $(MS_LIB_TOOL) -nologo -def:libmicrohttpd.def -name:$$dll_name -out:libmicrohttpd.lib $(libmicrohttpd_la_OBJECTS:.lo=.o) -ignore:4221 |
28 | echo Creating $$dll_name by $(MS_LIB_TOOL).. && cd "$(lt_cv_objdir)" && \ | ||
29 | $(MS_LIB_TOOL) -def:libmicrohttpd.def -name:$$dll_name -out:libmicrohttpd.lib $(libmicrohttpd_la_OBJECTS:.lo=.o) && cd .. | ||
30 | else | 46 | else |
31 | @echo Creating $@ and libmicrohttpd.exp by $(DLLTOOL)... && \ | 47 | if USE_EXPORT_FILE |
32 | dll_name=`$(EGREP) -o dlname=\'.+\' libmicrohttpd.la` && \ | 48 | $(lt_cv_objdir)/libmicrohttpd.lib $(lt_cv_objdir)/libmicrohttpd.exp: $(lt_cv_objdir)/libmicrohttpd.def libmicrohttpd.la $(libmicrohttpd_la_OBJECTS) |
33 | dll_name=$${dll_name#*\'} && dll_name=$${dll_name%\'} && test -n "$$dll_name" && \ | 49 | $(AM_V_at)$(AM_V_DLLTOOL) cd "$(lt_cv_objdir)" && dll_name=`$(SED) -n -e "s/^dlname='\(.*\)'/\1/p" libmicrohttpd.la` && test -n "$$dll_name" && \ |
34 | echo Creating $$dll_name by $(DLLTOOL).. && cd "$(lt_cv_objdir)" && \ | 50 | $(DLLTOOL) -d libmicrohttpd.def -D $$dll_name -l libmicrohttpd.lib $(libmicrohttpd_la_OBJECTS:.lo=.o) -e ./libmicrohttpd.exp |
35 | $(DLLTOOL) -d ./libmicrohttpd.def -D $$dll_name -l libmicrohttpd.lib $(libmicrohttpd_la_OBJECTS:.lo=.o) -e ./libmicrohttpd.exp && cd .. &&\ | 51 | else |
36 | echo Created libmicrohttpd.exp and libmicrohttpd.lib. | 52 | $(lt_cv_objdir)/libmicrohttpd.lib: $(lt_cv_objdir)/libmicrohttpd.def libmicrohttpd.la |
53 | $(AM_V_at)$(AM_V_DLLTOOL) cd "$(lt_cv_objdir)" && dll_name=`$(SED) -n -e "s/^dlname='\(.*\)'/\1/p" libmicrohttpd.la` && test -n "$$dll_name" && \ | ||
54 | $(DLLTOOL) -d libmicrohttpd.def -D $$dll_name -l libmicrohttpd.lib | ||
55 | endif | ||
37 | endif | 56 | endif |
38 | else | 57 | else |
39 | W32_MHD_LIB_LDFLAGS = | 58 | W32_MHD_LIB_LDFLAGS = |