############################################################# | |
# $Id$ | |
# | |
## Makefile for building libcurl.a with MingW32 (GCC-2.95) and | |
## optionally OpenSSL (0.9.6) | |
## Use: make -f Makefile.m32 | |
## | |
## Comments to: Troy Engel <tengel@sonic.net> or | |
## Joern Hartroth <hartroth@acm.org> | |
CC = gcc | |
AR = ar | |
RANLIB = ranlib | |
STRIP = strip -g | |
OPENSSL_PATH = ../../openssl-0.9.6 | |
######################################################## | |
## 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 | |
DLL_LIBS = -leay32 -lssl32 -lRSAglue | |
endif | |
COMPILE = $(CC) $(INCLUDES) $(CFLAGS) | |
libcurl_a_LIBRARIES = libcurl.a | |
libcurl_a_SOURCES = arpa_telnet.h file.c getpass.h netrc.h timeval.c base64.c \ | |
file.h hostip.c progress.c timeval.h base64.h formdata.c hostip.h progress.h \ | |
cookie.c formdata.h http.c sendf.c cookie.h ftp.c http.h sendf.h url.c dict.c \ | |
ftp.h if2ip.c speedcheck.c url.h dict.h getdate.c if2ip.h speedcheck.h \ | |
urldata.h transfer.c getdate.h ldap.c ssluse.c version.c transfer.h getenv.c \ | |
ldap.h ssluse.h escape.c getenv.h mprintf.c telnet.c escape.h getpass.c netrc.c \ | |
telnet.h getinfo.c strequal.c strequal.h easy.c security.h \ | |
security.c krb4.h krb4.c memdebug.h memdebug.c inet_ntoa_r.h http_chunks.h http_chunks.c \ | |
strtok.c | |
libcurl_a_OBJECTS = file.o timeval.o base64.o hostip.o progress.o \ | |
formdata.o cookie.o http.o sendf.o ftp.o url.o dict.o if2ip.o \ | |
speedcheck.o getdate.o transfer.o ldap.o ssluse.o version.o \ | |
getenv.o escape.o mprintf.o telnet.o getpass.o netrc.o getinfo.o \ | |
strequal.o easy.o security.o krb4.o memdebug.o http_chunks.o \ | |
strtok.o | |
LIBRARIES = $(libcurl_a_LIBRARIES) | |
SOURCES = $(libcurl_a_SOURCES) | |
OBJECTS = $(libcurl_a_OBJECTS) | |
all: libcurl.a libcurl.dll libcurldll.a | |
libcurl.a: $(libcurl_a_OBJECTS) $(libcurl_a_DEPENDENCIES) | |
-@erase libcurl.a | |
$(AR) cru libcurl.a $(libcurl_a_OBJECTS) | |
$(RANLIB) libcurl.a | |
$(STRIP) $@ | |
# remove the last line above to keep debug info | |
libcurl.dll libcurldll.a: libcurl.a libcurl.def dllinit.o | |
-@erase $@ | |
dllwrap --dllname $@ --output-lib libcurldll.a --export-all --def libcurl.def $(libcurl_a_LIBRARIES) dllinit.o -L$(OPENSSL_PATH)/out $(DLL_LIBS) -lwsock32 | |
$(STRIP) $@ | |
# remove the last line above to keep debug info | |
.c.o: | |
$(COMPILE) -c $< | |
.s.o: | |
$(COMPILE) -c $< | |
.S.o: | |
$(COMPILE) -c $< | |
clean: | |
-@erase $(libcurl_a_OBJECTS) | |
distrib: clean | |
-@erase $(libcurl_a_LIBRARIES) | |