From 4aabbc5ac2ed24f2c905855c8c83251f0ca47306 Mon Sep 17 00:00:00 2001 From: Gunter Knauf Date: Fri, 3 Aug 2007 14:30:02 +0000 Subject: [PATCH] some more makefile fixes/changes. --- lib/Makefile.m32 | 25 +++++++++++++++---------- src/Makefile.m32 | 28 ++++++++++++++++------------ 2 files changed, 31 insertions(+), 22 deletions(-) diff --git a/lib/Makefile.m32 b/lib/Makefile.m32 index d627c53e9..d2ccf02b2 100644 --- a/lib/Makefile.m32 +++ b/lib/Makefile.m32 @@ -4,7 +4,7 @@ ## Makefile for building libcurl.a with MingW32 (GCC-3.2) and ## optionally OpenSSL (0.9.8) ## -## Use: make -f Makefile.m32 [SSL=1] [SSH2=1] [DYN=1] +## Use: mingw32-make -f Makefile.m32 [SSL=1] [SSH2=1] [DYN=1] ## ## Comments to: Troy Engel or ## Joern Hartroth @@ -23,8 +23,12 @@ ARES_LIB = ../ares CC = gcc AR = ar -RM = del /f +# comment LDFLAGS below to keep debug info +LDFLAGS = -s RANLIB = ranlib +RC = windres +RCFLAGS = --include-dir=../include -DCURLDEBUG=0 -O COFF -i +RM = del /q /f STRIP = strip -g ######################################################## @@ -60,6 +64,7 @@ endif ifdef IPV6 CFLAGS += -DENABLE_IPV6 endif +DLL_LIBS += -lws2_32 -lwinmm COMPILE = $(CC) $(INCLUDES) $(CFLAGS) # Makefile.inc provides the CSOURCES and HHEADERS defines @@ -70,6 +75,10 @@ libcurl_a_OBJECTS := $(patsubst %.c,%.o,$(strip $(CSOURCES))) libcurl_a_LIBRARIES = libcurl.a libcurl_a_DEPENDENCIES = $(strip $(CSOURCES) $(HHEADERS)) +RESOURCE = libcurl.res + +.SUFFIXES: .rc .res + all: libcurl.a libcurl.dll libcurldll.a libcurl.a: $(libcurl_a_OBJECTS) $(libcurl_a_DEPENDENCIES) @@ -78,22 +87,18 @@ libcurl.a: $(libcurl_a_OBJECTS) $(libcurl_a_DEPENDENCIES) $(RANLIB) libcurl.a $(STRIP) $@ -RESOURCE = libcurl.res - # remove the last line above to keep debug info libcurl.dll libcurldll.a: $(libcurl_a_OBJECTS) $(RESOURCE) $(RM) $@ - $(CC) -s -shared -Wl,--out-implib,libcurldll.a -o libcurl.dll \ - $(libcurl_a_OBJECTS) $(RESOURCE) $(DLL_LIBS) -lws2_32 -lwinmm - -# remove the above '-s' to keep debug info + $(CC) $(LDFLAGS) -shared -Wl,--out-implib,libcurldll.a -o libcurl.dll \ + $(libcurl_a_OBJECTS) $(RESOURCE) $(DLL_LIBS) .c.o: $(COMPILE) -c $< -libcurl.res: libcurl.rc - windres -DCURLDEBUG=0 -O COFF -o $@ -i $^ +.rc.res: + $(RC) $(RCFLAGS) $< -o $@ clean: $(RM) $(libcurl_a_OBJECTS) $(RESOURCE) diff --git a/src/Makefile.m32 b/src/Makefile.m32 index 06e717170..43b1839f4 100644 --- a/src/Makefile.m32 +++ b/src/Makefile.m32 @@ -4,7 +4,7 @@ ## Makefile for building curl.exe with MingW32 (GCC-3.2) and ## optionally OpenSSL (0.9.8) ## -## Use: make -f Makefile.m32 [SSL=1] [SSH2=1] [DYN=1] +## Use: mingw32-make -f Makefile.m32 [SSL=1] [SSH2=1] [DYN=1] ## ## Comments to: Troy Engel or ## Joern Hartroth @@ -23,11 +23,11 @@ ARES_LIB = ../ares CC = gcc CFLAGS = -g -O2 -LDFLAGS = +# comment LDFLAGS below to keep debug info +LDFLAGS = -s RC = windres RCFLAGS = --include-dir=../include -O COFF -i -RM = del /f -STRIP = strip -s +RM = del /q /f # We may need these someday # PERL = perl @@ -36,8 +36,7 @@ STRIP = strip -s ######################################################## ## Nothing more to do below this line! -INCLUDES = -I. -I.. -I../include -I../lib -I$(ZLIB_PATH) -COMPILE = $(CC) $(INCLUDES) $(CFLAGS) +INCLUDES = -I. -I.. -I../include -I../lib LINK = $(CC) $(LDFLAGS) -o $@ curl_PROGRAMS = curl.exe @@ -61,13 +60,19 @@ ifdef SSL CFLAGS += -DUSE_SSLEAY -DHAVE_OPENSSL_ENGINE_H curl_LDADD += -L$(OPENSSL_PATH)/out -leay32 -lssl32 endif +ifdef ZLIB + INCLUDES += -I"$(ZLIB_PATH)" + CFLAGS += -DHAVE_LIBZ -DHAVE_ZLIB_H + curl_LDADD += -L$(ZLIB_PATH) -lz +endif ifdef SSPI CFLAGS += -DUSE_WINDOWS_SSPI endif ifdef IPV6 CFLAGS += -DENABLE_IPV6 endif -curl_LDADD += -lwsock32 -lws2_32 -lwinmm -L$(ZLIB_PATH) -lz +curl_LDADD += -lwsock32 -lws2_32 -lwinmm +COMPILE = $(CC) $(INCLUDES) $(CFLAGS) # Makefile.inc provides the CSOURCES and HHEADERS defines include Makefile.inc @@ -83,16 +88,12 @@ all: curl.exe curl.exe: curl.res $(curl_OBJECTS) $(curl_DEPENDENCIES) $(RM) $@ $(LINK) $< $(curl_OBJECTS) $(curl_LDADD) - $(STRIP) $@ # We don't have nroff normally under win32 # hugehelp.c: ../README.curl ../curl.1 mkhelp.pl # $(RM) hugehelp.c # $(NROFF) -man ../curl.1 | $(PERL) mkhelp.pl ../README.curl > hugehelp.c -.rc.res: - $(RC) $(RCFLAGS) $< -o $@ - .c.o: $(COMPILE) -c $< @@ -102,8 +103,11 @@ curl.exe: curl.res $(curl_OBJECTS) $(curl_DEPENDENCIES) .S.o: $(COMPILE) -c $< +.rc.res: + $(RC) $(RCFLAGS) $< -o $@ + clean: - $(RM) $(curl_OBJECTS) curl.exe + $(RM) $(curl_OBJECTS) distrib: clean $(RM) $(curl_PROGRAMS)