John Lask's new makefile

This commit is contained in:
Daniel Stenberg
2001-11-05 11:56:26 +00:00
parent 329bcf3a71
commit f5ba174f4d

View File

@@ -1,377 +1,217 @@
############################################################# #############################################################
# #
## Makefile for building libcurl.lib with MSVC6 # Makefile for building libcurl with MSVC6
## Use: nmake -f makefile.vc6 [release | release-ssl | debug] #
## (default is release) # Usage: see usage message below
## # Should be invoked from \lib directory
## Originally written by: Troy Engel <tengel@sonic.net> # Edit the paths and desired library name
## Updated by: Craig Davison <cd@securityfocus.com> # SSL path is only required if you intend compiling
## Updated by: SM <sm@technologist.com> # with SSL.
#
# This make file leaves the result either a .lib or .dll file
# in the \lib directory. It should be called from the \lib
# directory.
#
# An option would have been to allow the source directory to
# be specified, but I saw no requirement.
#
# Another option would have been to leave the .lib and .dll
# files in the "cfg" directory, but then the make file
# in \src would need to be changed.
#
##############################################################
# CHANGE LOG
# ------------------------------------------------------------
# 05.11.2001 John Lask Initial Release
#
#
##############################################################
PROGRAM_NAME = libcurl.lib LIB_NAME = libcurl
PROGRAM_NAME_DEBUG = libcurld.lib LIB_NAME_DEBUG = libcurl
#OPENSSL_PATH = ../../openssl-0.9.6b OPENSSL_PATH = ../../openssl-0.9.6
######################################################## #############################################################
## Nothing more to do below this line! ## Nothing more to do below this line!
## Release CCNODBG = cl.exe /MD /O2 /D "NDEBUG"
CCR = cl.exe /MD /O2 /D "NDEBUG" CCDEBUG = cl.exe /MDd /Od /Gm /Zi /D "_DEBUG" /GZ
LINKR = link.exe -lib /out:$(PROGRAM_NAME) CFLAGSSSL = /D "USE_SSLEAY" /I "$(OPENSSL_PATH)/inc32" /I "$(OPENSSL_PATH)/inc32/openssl"
## Debug
CCD = cl.exe /MDd /Gm /ZI /Od /D "_DEBUG" /GZ
LINKD = link.exe -lib /out:$(PROGRAM_NAME_DEBUG)
## SSL Release
CCRS = cl.exe /MD /O2 /D "NDEBUG" /D "USE_SSLEAY" /I "$(OPENSSL_PATH)/inc32" /I "$(OPENSSL_PATH)/inc32/openssl"
LINKRS = link.exe -lib /out:$(PROGRAM_NAME) /LIBPATH:$(OPENSSL_PATH)/out32dll
CFLAGS = /I "../include" /nologo /W3 /GX /D "WIN32" /D "VC6" /D "_MBCS" /D "_LIB" /YX /FD /c /D "MSDOS" CFLAGS = /I "../include" /nologo /W3 /GX /D "WIN32" /D "VC6" /D "_MBCS" /D "_LIB" /YX /FD /c /D "MSDOS"
LFLAGS = /nologo
LINKLIBS = ws2_32.lib
LINKSLIBS = libeay32.lib ssleay32.lib RSAglue.lib
RELEASE_OBJS= \ LNKDLL = link.exe /DLL /def:libcurl.def
base64r.obj \ LNKLIB = link.exe -lib
cookier.obj \ LFLAGS = /nologo
transferr.obj \ LFLAGSSSL = /LIBPATH:$(OPENSSL_PATH)/out32dll
escaper.obj \ LINKLIBS = ws2_32.lib
formdatar.obj \ SSLLIBS = libeay32.lib ssleay32.lib RSAglue.lib
ftpr.obj \ CFGSET = FALSE
httpr.obj \
http_chunksr.obj \
ldapr.obj \
dictr.obj \
telnetr.obj \
getdater.obj \
getenvr.obj \
getpassr.obj \
hostipr.obj \
if2ipr.obj \
mprintfr.obj \
netrcr.obj \
progressr.obj \
sendfr.obj \
speedcheckr.obj \
ssluser.obj \
timevalr.obj \
urlr.obj \
filer.obj \
getinfor.obj \
versionr.obj \
easyr.obj \
strequalr.obj \
strtokr.obj \
connectr.obj
DEBUG_OBJS= \ ######################
base64d.obj \ # release
cookied.obj \
transferd.obj \
escaped.obj \
formdatad.obj \
ftpd.obj \
httpd.obj \
http_chunksd.obj \
ldapd.obj \
dictd.obj \
telnetd.obj \
getdated.obj \
getenvd.obj \
getpassd.obj \
hostipd.obj \
if2ipd.obj \
mprintfd.obj \
netrcd.obj \
progressd.obj \
sendfd.obj \
speedcheckd.obj \
sslused.obj \
timevald.obj \
urld.obj \
filed.obj \
getinfod.obj \
versiond.obj \
easyd.obj \
strequald.obj \
strtokd.obj \
connectd.obj
RELEASE_SSL_OBJS= \ !IF "$(CFG)" == "release"
base64rs.obj \ TARGET =$(LIB_NAME).lib
cookiers.obj \ DIROBJ =.\$(CFG)
transferrs.obj \ LNK = $(LNKLIB) /out:$(TARGET)
escapers.obj \ CC = $(CCNODBG)
formdatars.obj \ CFGSET = TRUE
ftprs.obj \ !ENDIF
httprs.obj \
http_chunksrs.obj \
ldaprs.obj \
dictrs.obj \
telnetrs.obj \
getdaters.obj \
getenvrs.obj \
getpassrs.obj \
hostiprs.obj \
if2iprs.obj \
mprintfrs.obj \
netrcrs.obj \
progressrs.obj \
sendfrs.obj \
speedcheckrs.obj \
sslusers.obj \
timevalrs.obj \
urlrs.obj \
filers.obj \
getinfors.obj \
versionrs.obj \
easyrs.obj \
strequalrs.obj \
strtokrs.obj \
connectrs.obj
LINK_OBJS= \ ######################
base64.obj \ # release-dll
cookie.obj \
transfer.obj \
escape.obj \
formdata.obj \
ftp.obj \
http.obj \
http_chunks.obj \
ldap.obj \
dict.obj \
telnet.obj \
getdate.obj \
getenv.obj \
getpass.obj \
hostip.obj \
if2ip.obj \
mprintf.obj \
netrc.obj \
progress.obj \
sendf.obj \
speedcheck.obj \
ssluse.obj \
timeval.obj \
url.obj \
file.obj \
getinfo.obj \
version.obj \
easy.obj \
strequal.obj \
strtok.obj \
connect.obj
all : release !IF "$(CFG)" == "release-dll"
TARGET =$(LIB_NAME).dll
DIROBJ =.\$(CFG)
LNK = $(LNKDLL) /out:$(TARGET) /IMPLIB:"$(LIB_NAME).lib"
CC = $(CCNODBG)
CFGSET = TRUE
!ENDIF
release: $(RELEASE_OBJS) ######################
$(LINKR) $(LFLAGS) $(LINKLIBS) $(LINK_OBJS) # release-ssl
#todo
!IF "$(CFG)" == "release-ssl"
TARGET =$(LIB_NAME).dll
DIROBJ =.\$(CFG)
LNK = $(LNKLIB) $(LFLAGSSSL) /out:$(TARGET)
LINKLIBS = $(LINKLIBS) $(SSLLIBS)
CC = $(CCNODBG) $(CFLAGSSSL)
CFGSET = TRUE
!ENDIF
debug: $(DEBUG_OBJS) ######################
$(LINKD) $(LFLAGS) $(LINKLIBS) $(LINK_OBJS) # release-ssl-dll
release-ssl: $(RELEASE_SSL_OBJS) !IF "$(CFG)" == "release-ssl-dll"
$(LINKRS) $(LFLAGS) $(LINKLIBS) $(LINKSLIBS) $(LINK_OBJS) TARGET =$(LIB_NAME).dll
DIROBJ =.\$(CFG)
LNK = $(LNKDLL) $(LFLAGSSSL) /out:$(TARGET) /IMPLIB:"$(LIB_NAME).lib"
LINKLIBS = $(LINKLIBS) $(SSLLIBS)
CC = $(CCNODBG) $(CFLAGSSSL)
CFGSET = TRUE
!ENDIF
## Release
base64r.obj: base64.c
$(CCR) $(CFLAGS) base64.c
cookier.obj: cookie.c
$(CCR) $(CFLAGS) cookie.c
transferr.obj: transfer.c
$(CCR) $(CFLAGS) transfer.c
escaper.obj: escape.c
$(CCR) $(CFLAGS) escape.c
formdatar.obj: formdata.c
$(CCR) $(CFLAGS) formdata.c
ftpr.obj: ftp.c
$(CCR) $(CFLAGS) ftp.c
httpr.obj: http.c
$(CCR) $(CFLAGS) http.c
http_chunksr.obj: http_chunks.c
$(CCR) $(CFLAGS) http_chunks.c
ldapr.obj: ldap.c
$(CCR) $(CFLAGS) ldap.c
dictr.obj: dict.c
$(CCR) $(CFLAGS) dict.c
telnetr.obj: telnet.c
$(CCR) $(CFLAGS) telnet.c
getdater.obj: getdate.c
$(CCR) $(CFLAGS) getdate.c
getenvr.obj: getenv.c
$(CCR) $(CFLAGS) getenv.c
getpassr.obj: getpass.c
$(CCR) $(CFLAGS) getpass.c
hostipr.obj: hostip.c
$(CCR) $(CFLAGS) hostip.c
if2ipr.obj: if2ip.c
$(CCR) $(CFLAGS) if2ip.c
mprintfr.obj: mprintf.c
$(CCR) $(CFLAGS) mprintf.c
netrcr.obj: netrc.c
$(CCR) $(CFLAGS) netrc.c
progressr.obj: progress.c
$(CCR) $(CFLAGS) progress.c
sendfr.obj: sendf.c
$(CCR) $(CFLAGS) sendf.c
speedcheckr.obj: speedcheck.c
$(CCR) $(CFLAGS) speedcheck.c
ssluser.obj: ssluse.c
$(CCR) $(CFLAGS) ssluse.c
timevalr.obj: timeval.c
$(CCR) $(CFLAGS) timeval.c
urlr.obj: url.c
$(CCR) $(CFLAGS) url.c
filer.obj: file.c
$(CCR) $(CFLAGS) file.c
getinfor.obj: getinfo.c
$(CCR) $(CFLAGS) getinfo.c
versionr.obj: version.c
$(CCR) $(CFLAGS) version.c
easyr.obj: easy.c
$(CCR) $(CFLAGS) easy.c
strequalr.obj: strequal.c
$(CCR) $(CFLAGS) strequal.c
strtokr.obj:strtok.c
$(CCR) $(CFLAGS) strtok.c
connectr.obj:connect.c
$(CCR) $(CFLAGS) connect.c
## Debug
base64d.obj: base64.c
$(CCD) $(CFLAGS) base64.c
cookied.obj: cookie.c
$(CCD) $(CFLAGS) cookie.c
transferd.obj: transfer.c
$(CCD) $(CFLAGS) transfer.c
escaped.obj: escape.c
$(CCD) $(CFLAGS) escape.c
formdatad.obj: formdata.c
$(CCD) $(CFLAGS) formdata.c
ftpd.obj: ftp.c
$(CCD) $(CFLAGS) ftp.c
httpd.obj: http.c
$(CCD) $(CFLAGS) http.c
http_chunksd.obj: http_chunks.c
$(CCD) $(CFLAGS) http_chunks.c
ldapd.obj: ldap.c
$(CCD) $(CFLAGS) ldap.c
dictd.obj: dict.c
$(CCD) $(CFLAGS) dict.c
telnetd.obj: telnet.c
$(CCD) $(CFLAGS) telnet.c
getdated.obj: getdate.c
$(CCD) $(CFLAGS) getdate.c
getenvd.obj: getenv.c
$(CCD) $(CFLAGS) getenv.c
getpassd.obj: getpass.c
$(CCD) $(CFLAGS) getpass.c
hostipd.obj: hostip.c
$(CCD) $(CFLAGS) hostip.c
if2ipd.obj: if2ip.c
$(CCD) $(CFLAGS) if2ip.c
mprintfd.obj: mprintf.c
$(CCD) $(CFLAGS) mprintf.c
netrcd.obj: netrc.c
$(CCD) $(CFLAGS) netrc.c
progressd.obj: progress.c
$(CCD) $(CFLAGS) progress.c
sendfd.obj: sendf.c
$(CCD) $(CFLAGS) sendf.c
speedcheckd.obj: speedcheck.c
$(CCD) $(CFLAGS) speedcheck.c
sslused.obj: ssluse.c
$(CCD) $(CFLAGS) ssluse.c
timevald.obj: timeval.c
$(CCD) $(CFLAGS) timeval.c
urld.obj: url.c
$(CCD) $(CFLAGS) url.c
filed.obj: file.c
$(CCD) $(CFLAGS) file.c
getinfod.obj: getinfo.c
$(CCD) $(CFLAGS) getinfo.c
versiond.obj: version.c
$(CCD) $(CFLAGS) version.c
easyd.obj: easy.c
$(CCD) $(CFLAGS) easy.c
strequald.obj: strequal.c
$(CCD) $(CFLAGS) strequal.c
strtokd.obj:strtok.c
$(CCD) $(CFLAGS) strtok.c
connectd.obj:connect.c
$(CCR) $(CFLAGS) connect.c
## Release SSL
base64rs.obj: base64.c ######################
$(CCRS) $(CFLAGS) base64.c # debug
cookiers.obj: cookie.c
$(CCRS) $(CFLAGS) cookie.c !IF "$(CFG)" == "debug"
transferrs.obj: transfer.c TARGET =$(LIB_NAME_DEBUG).lib
$(CCRS) $(CFLAGS) transfer.c DIROBJ =.\$(CFG)
escapers.obj: escape.c LNK = $(LNKLIB) /out:$(TARGET)
$(CCRS) $(CFLAGS) escape.c CC = $(CCDEBUG)
formdatars.obj: formdata.c CFGSET = TRUE
$(CCRS) $(CFLAGS) formdata.c !ENDIF
ftprs.obj: ftp.c
$(CCRS) $(CFLAGS) ftp.c ######################
httprs.obj: http.c # debug-dll
$(CCRS) $(CFLAGS) http.c
http_chunksrs.obj: http_chunks.c !IF "$(CFG)" == "debug-dll"
$(CCRS) $(CFLAGS) http_chunks.c TARGET =$(LIB_NAME_DEBUG).dll
ldaprs.obj: ldap.c DIROBJ =.\$(CFG)
$(CCRS) $(CFLAGS) ldap.c LNK = $(LNKDLL) /out:$(TARGET) /IMPLIB:"$(LIB_NAME_DEBUG).lib"
dictrs.obj: dict.c CC = $(CCDEBUG)
$(CCRS) $(CFLAGS) dict.c CFGSET = TRUE
telnetrs.obj: telnet.c !ENDIF
$(CCRS) $(CFLAGS) telnet.c
getdaters.obj: getdate.c ######################
$(CCRS) $(CFLAGS) getdate.c # debug-ssl
getenvrs.obj: getenv.c #todo
$(CCRS) $(CFLAGS) getenv.c !IF "$(CFG)" == "debug-ssl"
getpassrs.obj: getpass.c TARGET = $(LIB_NAME_DEBUG).lib
$(CCRS) $(CFLAGS) getpass.c DIROBJ =.\$(CFG)
hostiprs.obj: hostip.c LNK = $(LNKLIB) $(LFLAGSSSL) /out:$(TARGET)
$(CCRS) $(CFLAGS) hostip.c LINKLIBS = $(LINKLIBS) $(SSLLIBS)
if2iprs.obj: if2ip.c CC = $(CCDEBUG) $(CFLAGSSSL)
$(CCRS) $(CFLAGS) if2ip.c CFGSET = TRUE
mprintfrs.obj: mprintf.c !ENDIF
$(CCRS) $(CFLAGS) mprintf.c
netrcrs.obj: netrc.c ######################
$(CCRS) $(CFLAGS) netrc.c # debug-ssl-dll
progressrs.obj: progress.c
$(CCRS) $(CFLAGS) progress.c !IF "$(CFG)" == "debug-ssl-dll"
sendfrs.obj: sendf.c TARGET =$(LIB_NAME_DEBUG).dll
$(CCRS) $(CFLAGS) sendf.c DIROBJ =.\$(CFG)
speedcheckrs.obj: speedcheck.c LNK = $(LNKDLL) $(LFLAGSSSL) /out:$(TARGET) /IMPLIB:"$(LIB_NAME_DEBUG).lib"
$(CCRS) $(CFLAGS) speedcheck.c LINKLIBS = $(LINKLIBS) $(SSLLIBS)
sslusers.obj: ssluse.c CC = $(CCDEBUG) $(CFLAGSSSL)
$(CCRS) $(CFLAGS) ssluse.c CFGSET = TRUE
timevalrs.obj: timeval.c !ENDIF
$(CCRS) $(CFLAGS) timeval.c
urlrs.obj: url.c #######################
$(CCRS) $(CFLAGS) url.c # Usage
filers.obj: file.c #
$(CCRS) $(CFLAGS) file.c !IF "$(CFGSET)" == "FALSE"
getinfors.obj: getinfo.c !MESSAGE Usage: nmake -f makefile.vc6 CFG=<config> <target>
$(CCRS) $(CFLAGS) getinfo.c !MESSAGE where <config> is one of:
versionrs.obj: version.c !MESSAGE release - release static library
$(CCRS) $(CFLAGS) version.c !MESSAGE release-dll - release dll
easyrs.obj: easy.c !MESSAGE release-ssl - release static library with ssl
$(CCRS) $(CFLAGS) easy.c !MESSAGE release-ssl-dll - release dll library with ssl
strequalrs.obj: strequal.c !MESSAGE debug - debug static library
$(CCRS) $(CFLAGS) strequal.c !MESSAGE debug-dll - debug dll
strtokrs.obj:strtok.c !MESSAGE debug-ssl - debug static library with ssl
$(CCRS) $(CFLAGS) strtok.c !MESSAGE debug-ssl-dll - debug dll library with ssl
connectrs.obj:connect.c !MESSAGE <target> can be left blank in which case all is assumed
$(CCR) $(CFLAGS) connect.c !ERROR please choose a valid configuration "$(CFG)"
!ENDIF
#######################
#
X_OBJS= \
$(DIROBJ)\base64.obj \
$(DIROBJ)\cookie.obj \
$(DIROBJ)\transfer.obj \
$(DIROBJ)\escape.obj \
$(DIROBJ)\formdata.obj \
$(DIROBJ)\ftp.obj \
$(DIROBJ)\http.obj \
$(DIROBJ)\http_chunks.obj \
$(DIROBJ)\ldap.obj \
$(DIROBJ)\dict.obj \
$(DIROBJ)\telnet.obj \
$(DIROBJ)\getdate.obj \
$(DIROBJ)\getenv.obj \
$(DIROBJ)\getpass.obj \
$(DIROBJ)\hostip.obj \
$(DIROBJ)\if2ip.obj \
$(DIROBJ)\mprintf.obj \
$(DIROBJ)\netrc.obj \
$(DIROBJ)\progress.obj \
$(DIROBJ)\sendf.obj \
$(DIROBJ)\speedcheck.obj \
$(DIROBJ)\ssluse.obj \
$(DIROBJ)\timeval.obj \
$(DIROBJ)\url.obj \
$(DIROBJ)\file.obj \
$(DIROBJ)\getinfo.obj \
$(DIROBJ)\version.obj \
$(DIROBJ)\easy.obj \
$(DIROBJ)\strequal.obj \
$(DIROBJ)\strtok.obj
all : $(TARGET)
$(TARGET): $(X_OBJS)
$(LNK) $(LFLAGS) $(LINKLIBS) $(X_OBJS)
$(X_OBJS): $(DIROBJ)
$(DIROBJ):
@if not exist "$(DIROBJ)" mkdir $(DIROBJ)
.SUFFIXES: .c .obj
{.\}.c{$(DIROBJ)\}.obj:
$(CC) $(CFLAGS) /Fo"$@" $<
clean: clean:
-@erase *.obj -@erase $(DIROBJ)\*.obj
-@erase vc60.idb -@erase vc60.idb
-@erase vc60.pch -@erase vc60.pch
distrib: clean
-@erase $(PROGRAM_NAME)