############################################################# # $Id$ # ## Makefile for building libcurl.a with MingW32 (GCC-3.2) and ## optionally OpenSSL (0.9.7) ## ## Use: make -f Makefile.m32 ## ## Comments to: Troy Engel or ## Joern Hartroth ifndef OPENSSL_PATH OPENSSL_PATH = ../../openssl-0.9.7d endif ifndef ZLIB_PATH ZLIB_PATH = ../../zlib-1.2.1 endif CC = gcc AR = ar RM = rm -f RANLIB = ranlib STRIP = strip -g ######################################################## ## Nothing more to do below this line! INCLUDES = -I. -I.. -I../include -I../src CFLAGS = -g -O2 -DMINGW32 ifdef SSL INCLUDES += -I"$(OPENSSL_PATH)/outinc" -I"$(OPENSSL_PATH)/outinc/openssl" CFLAGS += -DUSE_SSLEAY -DHAVE_OPENSSL_ENGINE_H DLL_LIBS = -L$(OPENSSL_PATH)/out -leay32 -lssl32 endif ifdef ZLIB INCLUDES += -I"$(ZLIB_PATH)" CFLAGS += -DHAVE_LIBZ -DHAVE_ZLIB_H DLL_LIBS += -L$(ZLIB_PATH) -lz endif COMPILE = $(CC) $(INCLUDES) $(CFLAGS) # Makefile.inc provides the CSOURCES and HHEADERS defines include Makefile.inc libcurl_a_OBJECTS := $(patsubst %.c,%.o,$(strip $(CSOURCES))) libcurl_a_LIBRARIES = libcurl.a libcurl_a_DEPENDENCIES = $(strip $(CSOURCES) $(HHEADERS)) all: libcurl.a libcurl.dll libcurldll.a libcurl.a: $(libcurl_a_OBJECTS) $(libcurl_a_DEPENDENCIES) $(RM) libcurl.a $(AR) cru libcurl.a $(libcurl_a_OBJECTS) $(RANLIB) libcurl.a $(STRIP) $@ RESOURCE = libcurl.res # remove the last line above to keep debug info libcurl.dll libcurldll.a: libcurl.a libcurl.def $(RESOURCE) $(RM) $@ dllwrap --dllname $@ --output-lib libcurldll.a --export-all --def libcurl.def $(libcurl_a_LIBRARIES) $(RESOURCE) $(DLL_LIBS) -lwsock32 -lws2_32 -lwinmm $(STRIP) $@ # remove the last line above to keep debug info .c.o: $(COMPILE) -c $< .s.o: $(COMPILE) -c $< .S.o: $(COMPILE) -c $< libcurl.res: libcurl.rc windres -DCURLDEBUG=0 -O COFF -o $@ -i $^ clean: $(RM) $(libcurl_a_OBJECTS) $(RESOURCE) distrib: clean $(RM) $(libcurl_a_LIBRARIES)