From b1080f7c9a5f75081e26f8b2165eb1889df7e7e8 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Tue, 18 Jan 2005 10:17:34 +0000 Subject: [PATCH] =?UTF-8?q?Cody=20Jones'=20enhanced=20version=20of=20Samue?= =?UTF-8?q?l=20D=EDaz=20Garc=EDa's=20MSVC=20makefile=20patch.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGES | 4 + Makefile.dist | 69 ++++++++++- RELEASE-NOTES | 2 +- lib/Makefile.vc6 | 302 ++++++++++++++++++++++++++++++++++++----------- src/Makefile.vc6 | 173 +++++++++++++++++---------- 5 files changed, 414 insertions(+), 136 deletions(-) diff --git a/CHANGES b/CHANGES index 08b0149bc..434768d3e 100644 --- a/CHANGES +++ b/CHANGES @@ -7,6 +7,10 @@ Changelog +Daniel (18 January 2005) +- Cody Jones' enhanced version of Samuel Díaz García's MSVC makefile patch was + applied. + Daniel (16 January 2005) - Alex aka WindEagle pointed out that when doing "curl -v dictionary.com", curl assumed this used the DICT protocol. While guessing protocols will remain diff --git a/Makefile.dist b/Makefile.dist index 81a23f5ae..0546773d0 100644 --- a/Makefile.dist +++ b/Makefile.dist @@ -77,6 +77,37 @@ mingw32-clean: $(MAKE) -C lib -f Makefile.m32 clean $(MAKE) -C src -f Makefile.m32 clean +vc-clean: + cd lib + nmake -f Makefile.vc6 clean + cd ..\src + nmake -f Makefile.vc6 clean + +vc-all: + cd lib + nmake -f Makefile.vc6 cfg=release + nmake -f Makefile.vc6 cfg=release-ssl + nmake -f Makefile.vc6 cfg=release-zlib + nmake -f Makefile.vc6 cfg=release-ssl-zlib + nmake -f Makefile.vc6 cfg=release-ssl-dll + nmake -f Makefile.vc6 cfg=release-zlib-dll + nmake -f Makefile.vc6 cfg=release-ssl-dll-zlib-dll + nmake -f Makefile.vc6 cfg=release-dll + nmake -f Makefile.vc6 cfg=release-dll-ssl-dll + nmake -f Makefile.vc6 cfg=release-dll-zlib-dll + nmake -f Makefile.vc6 cfg=release-dll-ssl-dll-zlib-dll + nmake -f Makefile.vc6 cfg=debug + nmake -f Makefile.vc6 cfg=debug-ssl + nmake -f Makefile.vc6 cfg=debug-zlib + nmake -f Makefile.vc6 cfg=debug-ssl-zlib + nmake -f Makefile.vc6 cfg=debug-ssl-dll + nmake -f Makefile.vc6 cfg=debug-zlib-dll + nmake -f Makefile.vc6 cfg=debug-ssl-dll-zlib-dll + nmake -f Makefile.vc6 cfg=debug-dll + nmake -f Makefile.vc6 cfg=debug-dll-ssl-dll + nmake -f Makefile.vc6 cfg=debug-dll-zlib-dll + nmake -f Makefile.vc6 cfg=debug-dll-ssl-dll-zlib-dll + vc: cd lib nmake /f Makefile.vc6 cfg=release @@ -105,13 +136,43 @@ vc-ssl-dll: cd lib nmake /f Makefile.vc6 cfg=release-ssl-dll cd ..\src - nmake /f Makefile.vc6 + nmake /f Makefile.vc6 cfg=release-ssl-dll -vc-libcurl-ssl-dll: +vc-dll-ssl-dll: cd lib - nmake /f Makefile.vc6 cfg=release-libcurl-ssl-dll + nmake /f Makefile.vc6 cfg=release-dll-ssl-dll cd ..\src - nmake /f Makefile.vc6 + nmake /f Makefile.vc6 cfg=release-dll-ssl-dll + +vc-dll: + cd lib + nmake /f Makefile.vc6 cfg=release-dll + cd ..\src + nmake /f Makefile.vc6 cfg=release-dll + +vc-dll-zlib-dll: + cd lib + nmake /f Makefile.vc6 cfg=release-dll-zlib-dll + cd ..\src + nmake /f Makefile.vc6 cfg=release-dll-zlib-dll + +vc-dll-ssl-dll-zlib-dll: + cd lib + nmake /f Makefile.vc6 cfg=release-dll-ssl-dll-zlib-dll + cd ..\src + nmake /f Makefile.vc6 cfg=release-dll-ssl-dll-zlib-dll + +vc-ssl-dll-zlib-dll: + cd lib + nmake /f Makefile.vc6 cfg=release-ssl-dll-zlib-dll + cd ..\src + nmake /f Makefile.vc6 cfg=release-ssl-dll-zlib-dll + +vc-zlib-dll: + cd lib + nmake /f Makefile.vc6 cfg=release-zlib-dll + cd ..\src + nmake /f Makefile.vc6 cfg=release-zlib-dll djgpp: $(MAKE) -C lib -f Makefile.dj diff --git a/RELEASE-NOTES b/RELEASE-NOTES index cd793e30f..6f532eb67 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -39,6 +39,6 @@ advice from friends like these: Dan Fandrich, Peter Pentchev, Marcin Konicki, Rune Kleveland, David Shaw, Werner Koch, Gisle Vanem, Alex Neblett, Kai Sommerfeld, Marty Kuhrt, Hzhijun, Pavel Orehov, Bruce Mitchener, Cyrill Osterwalder, Dan Torop, - Martijn Koster, Alex aka WindEagle + Martijn Koster, Alex aka WindEagle, Cody Jones, Samuel Díaz García Thanks! (and sorry if I forgot to mention someone) diff --git a/lib/Makefile.vc6 b/lib/Makefile.vc6 index 48f1301c3..3b65abf74 100644 --- a/lib/Makefile.vc6 +++ b/lib/Makefile.vc6 @@ -58,6 +58,8 @@ LNKDLL = link.exe /DLL LNKLIB = link.exe /lib LFLAGS = /nologo SSLLIBS = libeay32.lib ssleay32.lib +ZLIBLIBSDLL= zdll.lib +ZLIBLIBS = zlib.lib !IFDEF USEMM_LIBS WINLIBS = wsock32.lib winmm.lib !ELSE @@ -72,8 +74,8 @@ CFGSET = FALSE !IF "$(CFG)" == "release" TARGET = $(LIB_NAME).lib -DIROBJ = .\$(CFG) -LNK = $(LNKLIB) /out:$(TARGET) +DIROBJ = $(CFG) +LNK = $(LNKLIB) /out:$(DIROBJ)\$(TARGET) CC = $(CCNODBG) CFGSET = TRUE !ENDIF @@ -83,9 +85,9 @@ CFGSET = TRUE !IF "$(CFG)" == "release-zlib" TARGET = $(LIB_NAME).lib -DIROBJ = .\$(CFG) +DIROBJ = $(CFG) LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)" -LNK = $(LNKLIB) $(LFLAGSZLIB) /out:$(TARGET) +LNK = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) CC = $(CCNODBG) $(CFLAGSZLIB) CFGSET = TRUE !ENDIF @@ -95,8 +97,8 @@ CFGSET = TRUE !IF "$(CFG)" == "release-dll" TARGET = $(LIB_NAME).dll -DIROBJ = .\$(CFG) -LNK = $(LNKDLL) $(WINLIBS) /out:$(TARGET) /IMPLIB:$(IMPLIB_NAME).lib +DIROBJ = $(CFG) +LNK = $(LNKDLL) $(WINLIBS) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib CC = $(CCNODBG) CFGSET = TRUE RESOURCE = $(DIROBJ)\libcurl.res @@ -107,9 +109,9 @@ RESOURCE = $(DIROBJ)\libcurl.res !IF "$(CFG)" == "release-ssl" TARGET = $(LIB_NAME).lib -DIROBJ = .\$(CFG) -LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)/out32" -LNK = $(LNKLIB) $(LFLAGSSSL) /out:$(TARGET) +DIROBJ = $(CFG) +LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32" +LNK = $(LNKLIB) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET) CC = $(CCNODBG) $(CFLAGSSSL) CFGSET = TRUE !ENDIF @@ -118,81 +120,123 @@ CFGSET = TRUE # release-ssl-dll !IF "$(CFG)" == "release-ssl-dll" -TARGET = $(LIB_NAME).dll -DIROBJ = .\$(CFG) -LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)/out32dll" -LNK = $(LNKDLL) $(SSLLIBS) $(WINLIBS) $(LFLAGSSSL) /out:$(TARGET) /IMPLIB:$(IMPLIB_NAME).lib +TARGET = $(LIB_NAME).lib +DIROBJ = $(CFG) +LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll" +LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET) CC = $(CCNODBG) $(CFLAGSSSL) CFGSET = TRUE -RESOURCE = $(DIROBJ)\libcurl.res !ENDIF ###################### # release-ssl-zlib + !IF "$(CFG)" == "release-ssl-zlib" TARGET = $(LIB_NAME).lib -DIROBJ = .\$(CFG) -LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)/out32" +DIROBJ = $(CFG) +LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32" LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)" -LNK = $(LNKLIB) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(TARGET) +LNK = $(LNKLIB) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) CC = $(CCNODBG) $(CFLAGSSSL) $(CFLAGSZLIB) CFGSET = TRUE !ENDIF ###################### -# release-libcurl-ssl-dll -!IF "$(CFG)" == "release-libcurl-ssl-dll" -TARGET = $(LIB_NAME).lib -DIROBJ = .\$(CFG) -LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)/out32dll" -LNK = $(LNKLIB) $(SSLLIBS) $(LFLAGSSSL) /out:$(TARGET) +# release-dll-ssl-dll + +!IF "$(CFG)" == "release-dll-ssl-dll" +TARGET = $(LIB_NAME).dll +DIROBJ = $(CFG) +LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll" +LNK = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib CC = $(CCNODBG) $(CFLAGSSSL) CFGSET = TRUE RESOURCE = $(DIROBJ)\libcurl.res !ENDIF +###################### +# release-zlib-dll + +!IF "$(CFG)" == "release-zlib-dll" +TARGET = $(LIB_NAME).lib +DIROBJ = $(CFG) +LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)" +LNK = $(LNKLIB) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) +CC = $(CCNODBG) $(CFLAGSZLIB) +CFGSET = TRUE +!ENDIF + +###################### +# release-ssl-dll-zlib-dll + +!IF "$(CFG)" == "release-ssl-dll-zlib-dll" +TARGET = $(LIB_NAME).lib +DIROBJ = $(CFG) +LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)" +LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll" +LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) +CC = $(CCNODBG) $(CFLAGSSSL) $(CFLAGSZLIB) +CFGSET = TRUE +!ENDIF + +###################### +# release-dll-zlib-dll + +!IF "$(CFG)" == "release-dll-zlib-dll" +TARGET = $(LIB_NAME).dll +DIROBJ = $(CFG) +LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)" +LNK = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib +CC = $(CCNODBG) $(CFLAGSZLIB) +CFGSET = TRUE +RESOURCE = $(DIROBJ)\libcurl.res +!ENDIF + +###################### +# release-dll-ssl-dll-zlib-dll + +!IF "$(CFG)" == "release-dll-ssl-dll-zlib-dll" +TARGET = $(LIB_NAME).dll +DIROBJ = $(CFG) +LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)" +LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll" +LNK = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib +CC = $(CCNODBG) $(CFLAGSSSL) $(CFLAGSZLIB) +CFGSET = TRUE +RESOURCE = $(DIROBJ)\libcurl.res +!ENDIF ###################### # debug !IF "$(CFG)" == "debug" TARGET = $(LIB_NAME_DEBUG).lib -DIROBJ = .\$(CFG) -LNK = $(LNKLIB) /out:$(TARGET) +DIROBJ = $(CFG) +LNK = $(LNKLIB) /out:$(DIROBJ)\$(TARGET) CC = $(CCDEBUG) CFGSET = TRUE !ENDIF -###################### -# debug-dll - -!IF "$(CFG)" == "debug-dll" -TARGET = $(LIB_NAME_DEBUG).dll -DIROBJ = .\$(CFG) -LNK = $(LNKDLL) $(WINLIBS) /DEBUG /out:$(TARGET) /IMPLIB:$(IMPLIB_NAME_DEBUG).lib /PDB:$(IMPLIB_NAME_DEBUG).pdb -CC = $(CCDEBUG) -CFGSET = TRUE -RESOURCE = $(DIROBJ)\libcurl.res -!ENDIF - ###################### # debug-ssl -#todo + !IF "$(CFG)" == "debug-ssl" TARGET = $(LIB_NAME_DEBUG).lib -DIROBJ = .\$(CFG) -LNK = $(LNKLIB) $(LFLAGSSSL) /out:$(TARGET) +DIROBJ = $(CFG) +LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32" +LNK = $(LNKLIB) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET) CC = $(CCDEBUG) $(CFLAGSSSL) CFGSET = TRUE !ENDIF ###################### # debug-zlib + !IF "$(CFG)" == "debug-zlib" TARGET = $(LIB_NAME_DEBUG).lib -DIROBJ = .\$(CFG) +DIROBJ = $(CFG) LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)" -LNK = $(LNKLIB) $(LFLAGSZLIB) /out:$(TARGET) +LNK = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) CC = $(CCDEBUG) $(CFLAGSZLIB) CFGSET = TRUE !ENDIF @@ -201,38 +245,151 @@ CFGSET = TRUE # debug-ssl-dll !IF "$(CFG)" == "debug-ssl-dll" -TARGET = $(LIB_NAME_DEBUG).dll -DIROBJ = .\$(CFG) -LFLAGSSSL = /LIBPATH:$(OPENSSL_PATH)/out32dll -LNK = $(LNKDLL) $(WINLIBS) $(LFLAGSSSL) /DEBUG /out:$(TARGET) /IMPLIB:$(IMPLIB_NAME_DEBUG).lib /PDB:$(IMPLIB_NAME_DEBUG).pdb +TARGET = $(LIB_NAME_DEBUG).lib +DIROBJ = $(CFG) +LFLAGSSSL = /LIBPATH:$(OPENSSL_PATH)\out32dll +LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET) CC = $(CCDEBUG) $(CFLAGSSSL) CFGSET = TRUE +!ENDIF + +###################### +# debug-ssl-zlib + +!IF "$(CFG)" == "debug-ssl-zlib" +TARGET = $(LIB_NAME_DEBUG).lib +DIROBJ = $(CFG) +LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)" +LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32" +LNK = $(LNKLIB) $(SSLLIBS) $(ZLIBLIBS) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) +CC = $(CCDEBUG) $(CFLAGSSSL) $(CFLAGSZLIB) +CFGSET = TRUE +!ENDIF + +###################### +# debug-zlib-dll + +!IF "$(CFG)" == "debug-zlib-dll" +TARGET = $(LIB_NAME_DEBUG).lib +DIROBJ = $(CFG) +LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)" +LNK = $(LNKLIB) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) +CC = $(CCDEBUG) $(CFLAGSZLIB) +CFGSET = TRUE +!ENDIF + +###################### +# debug-ssl-dll-zlib-dll + +!IF "$(CFG)" == "debug-ssl-dll-zlib-dll" +TARGET = $(LIB_NAME_DEBUG).lib +DIROBJ = $(CFG) +LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)" +LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll" +LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) +CC = $(CCDEBUG) $(CFLAGSSSL) $(CFLAGSZLIB) +CFGSET = TRUE +!ENDIF + +###################### +# debug-dll + +!IF "$(CFG)" == "debug-dll" +TARGET = $(LIB_NAME_DEBUG).dll +DIROBJ = $(CFG) +LNK = $(LNKDLL) $(WINLIBS) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb +CC = $(CCDEBUG) +CFGSET = TRUE +RESOURCE = $(DIROBJ)\libcurl.res +!ENDIF + +###################### +# debug-dll-ssl-dll + +!IF "$(CFG)" == "debug-dll-ssl-dll" +TARGET = $(LIB_NAME_DEBUG).dll +DIROBJ = $(CFG) +LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll" +LNK = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb +CC = $(CCDEBUG) $(CFLAGSSSL) +CFGSET = TRUE +RESOURCE = $(DIROBJ)\libcurl.res +!ENDIF + +###################### +# debug-dll-zlib-dll + +!IF "$(CFG)" == "debug-dll-zlib-dll" +TARGET = $(LIB_NAME_DEBUG).dll +DIROBJ = $(CFG) +LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)" +LNK = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb +CC = $(CCDEBUG) $(CFLAGSZLIB) +CFGSET = TRUE +RESOURCE = $(DIROBJ)\libcurl.res +!ENDIF + +###################### +# debug-dll-ssl-dll-zlib-dll + +!IF "$(CFG)" == "debug-dll-ssl-dll-zlib-dll" +TARGET = $(LIB_NAME_DEBUG).dll +DIROBJ = $(CFG) +LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)" +LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll" +LNK = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb +CC = $(CCDEBUG) $(CFLAGSSSL) $(CFLAGSZLIB) +CFGSET = TRUE RESOURCE = $(DIROBJ)\libcurl.res !ENDIF ####################### # Usage # -!IF "$(CFGSET)" == "FALSE" +!IF "$(CFGSET)" == "FALSE" && "$(CFG)" != "" !MESSAGE Usage: nmake /f makefile.vc6 CFG= !MESSAGE where is one of: -!MESSAGE release - release static library -!MESSAGE release-dll - release dll -!MESSAGE release-zlib - release static library with zlib -!MESSAGE release-ssl - release static library with ssl -!MESSAGE release-ssl-zlib - release static library with ssl and zlib -!MESSAGE release-ssl-dll - release dll library with ssl -!MESSAGE release-libcurl-ssl-dll - static libcurl with shared ssl -!MESSAGE debug - debug static library -!MESSAGE debug-dll - debug dll -!MESSAGE debug-zlib - debug static library with zlib -!MESSAGE debug-ssl - debug static library with ssl -!MESSAGE debug-ssl-dll - debug dll library with ssl +!MESSAGE release - release static library +!MESSAGE release-ssl - release static library with ssl +!MESSAGE release-zlib - release static library with zlib +!MESSAGE release-ssl-zlib - release static library with ssl and zlib +!MESSAGE release-ssl-dll - release static library with dynamic ssl +!MESSAGE release-zlib-dll - release static library with dynamic zlib +!MESSAGE release-ssl-dll-zlib-dll - release static library with dynamic ssl and dynamic zlib +!MESSAGE release-dll - release dynamic library +!MESSAGE release-dll-ssl-dll - release dynamic library with dynamic ssl +!MESSAGE release-dll-zlib-dll - release dynamic library with dynamic zlib +!MESSAGE release-dll-ssl-dll-zlib-dll - release dynamic library with dynamic ssl and dynamic zlib +!MESSAGE debug - debug static library +!MESSAGE debug-ssl - debug static library with ssl +!MESSAGE debug-zlib - debug static library with zlib +!MESSAGE debug-ssl-zlib - debug static library with ssl and zlib +!MESSAGE debug-ssl-dll - debug static library with dynamic ssl +!MESSAGE debug-zlib-dll - debug static library with dynamic zlib +!MESSAGE debug-ssl-dll-zlib-dll - debug static library with dynamic ssl and dynamic zlib +!MESSAGE debug-dll - debug dynamic library +!MESSAGE debug-dll-ssl-dll - debug dynamic library with dynamic ssl +!MESSAGE debug-dll-zlib-dll - debug dynamic library with dynamic zlib1 +!MESSAGE debug-dll-ssl-dll-zlib-dll - debug dynamic library with dynamic ssl and dynamic zlib !MESSAGE can be left blank in which case all is assumed !ERROR please choose a valid configuration "$(CFG)" !ENDIF ####################### +# Only the clean target can be used if a config was not provided. +# +!IF "$(CFGSET)" == "FALSE" +clean: + @-erase /s *.dll 2> NUL + @-erase /s *.exp 2> NUL + @-erase /s *.idb 2> NUL + @-erase /s *.lib 2> NUL + @-erase /s *.obj 2> NUL + @-erase /s *.pch 2> NUL + @-erase /s *.pdb 2> NUL + @-erase /s *.res 2> NUL +!ELSE +# A config was provided, so the library can be built. # X_OBJS= \ $(DIROBJ)\base64.obj \ @@ -290,9 +447,16 @@ X_OBJS= \ all : $(TARGET) - $(TARGET): $(X_OBJS) $(LNK) $(LFLAGS) $(X_OBJS) + -xcopy $(DIROBJ)\$(LIB_NAME).dll . /y + -xcopy $(DIROBJ)\$(LIB_NAME).lib . /y + -xcopy $(DIROBJ)\$(LIB_NAME_DEBUG).dll . /y + -xcopy $(DIROBJ)\$(LIB_NAME_DEBUG).lib . /y + -xcopy $(DIROBJ)\$(IMPLIB_NAME).lib . /y + -xcopy $(DIROBJ)\$(IMPLIB_NAME).lib . /y + -xcopy $(DIROBJ)\*.exp . /y + -xcopy $(DIROBJ)\*.pdb . /y $(X_OBJS): $(DIROBJ) @@ -305,18 +469,14 @@ $(DIROBJ): $(CC) $(CFLAGS) /Fo"$@" $< debug-dll\libcurl.res \ -debug-ssl-dll\libcurl.res \ -release-libcurl-ssl-dll\libcurl.res: libcurl.rc +debug-dll-ssl-dll\libcurl.res \ +debug-dll-zlib-dll\libcurl.res \ +debug-dll-ssl-dll-zlib-dll\libcurl.res: libcurl.rc rc /dCURLDEBUG=1 /Fo $@ libcurl.rc release-dll\libcurl.res \ -release-ssl-dll\libcurl.res \ -release-libcurl-ssl-dll\libcurl.res: libcurl.rc +release-dll-ssl-dll\libcurl.res \ +release-dll-zlib-dll\libcurl.res \ +release-dll-ssl-dll-zlib-dll\libcurl.res: libcurl.rc rc /dCURLDEBUG=0 /Fo $@ libcurl.rc - -clean: - -@erase $(DIROBJ)\*.obj - -@erase $(DIROBJ)\*.res - -@erase vc60.idb - -@erase vc60.pch - +!ENDIF # End of case where a config was provided. diff --git a/src/Makefile.vc6 b/src/Makefile.vc6 index 5cbf1eab4..402b6f8f8 100644 --- a/src/Makefile.vc6 +++ b/src/Makefile.vc6 @@ -25,13 +25,15 @@ OPENSSL_PATH = ../../openssl-0.9.7e ######################################################## ## Nothing more to do below this line! -CFLAGSZLIB = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /I "$(ZLIB_PATH)" -LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)" -ZLIBLIBS = zlib.lib -SSLINC = /I "$(OPENSSL_PATH)/inc32" /I "$(OPENSSL_PATH)/inc32/openssl" -CFLAGSSSL = /DUSE_SSLEAY -LFLAGSSSL = /LIBPATH:"$(OPENSSL_PATH)/out32dll" -SSLLIBS = libeay32.lib ssleay32.lib gdi32.lib +ZLIB_CFLAGS = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /I "$(ZLIB_PATH)" +ZLIB_LFLAGS = "/LIBPATH:$(ZLIB_PATH)" +ZLIB_LIBS = zlib.lib +ZLIB_IMP_LIBS = zdll.lib + +SSL_CFLAGS = /DUSE_SSLEAY +SSL_LFLAGS = /LIBPATH:"$(OPENSSL_PATH)/out32" +SSL_IMP_LFLAGS = /LIBPATH:"$(OPENSSL_PATH)/out32dll" +SSL_LIBS = libeay32.lib ssleay32.lib gdi32.lib ## Release CCR = cl.exe /MD /O2 /DNDEBUG @@ -70,53 +72,109 @@ DEBUG_OBJS= \ maind.obj \ curld.res -################################################# -# release-zlib (static libcurl + zlib) - -!IF "$(CFG)" == "release-zlib" -CFLAGS = $(CFLAGS) $(CFLAGSZLIB) /DCURL_STATICLIB -LINKLIBS = libcurl.lib $(ZLIBLIBS) -LINKLIBS_DEBUG = libcurld.lib $(ZLIBLIBS) -LFLAGS = $(LFLAGS) $(LFLAGSZLIB) -!ENDIF - -################################################# -# release-ssl (static libcurl + ssl) - -!IF "$(CFG)" == "release-ssl" -CFLAGS = $(CFLAGS) $(CFLAGSSSL) /DCURL_STATICLIB -LINKLIBS = libcurl.lib $(SSLLIBS) -LINKLIBS_DEBUG = libcurld.lib $(SSLLIBS) -LFLAGS = $(LFLAGS) $(LFLAGSSSL) -!ENDIF - -################################################# -# release-libcurl-ssl-dll (libcurl.dll + ssl) - -!IF "$(CFG)" == "release-libcurl-ssl-dll" -CFLAGS = $(CFLAGS) $(CFLAGSSSL) -LINKLIBS = libcurl_imp.lib $(SSLLIBS) -LINKLIBS_DEBUG = libcurld_imp.lib $(SSLLIBS) -LFLAGS = $(LFLAGS) $(LFLAGSSSL) -!ENDIF - -################################################# -# release-ssl-zlib (static libcurl + ssl + zlib) - -!IF "$(CFG)" == "release-ssl-zlib" -CFLAGS = $(CFLAGS) $(CFLAGSSSL) $(CFLAGSZLIB) /DCURL_STATICLIB -LINKLIBS = libcurl.lib $(SSLLIBS) $(ZLIBLIBS) -LINKLIBS_DEBUG = libcurld.lib $(SSLLIBS) $(ZLIBLIBS) -LFLAGS = $(LFLAGS) $(LFLAGSSSL) $(LFLAGSZLIB) -!ENDIF - ################################################# # If CFG not specified, use static libs -!IF "$(CFG)." == "." CFLAGS = $(CFLAGS) /DCURL_STATICLIB LINKLIBS = libcurl.lib LINKLIBS_DEBUG = libcurld.lib + +################################################# +# release dynamic library + +!IF "$(CFG)" == "release-dll" +LINKLIBS = libcurl_imp.lib +LINKLIBS_DEBUG = libcurld_imp.lib +!ENDIF + +################################################# +# release static library with zlib + +!IF "$(CFG)" == "release-zlib" +CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB +LINKLIBS = libcurl.lib $(ZLIB_LIBS) +LINKLIBS_DEBUG = libcurld.lib $(ZLIB_LIBS) +LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS) +!ENDIF + +################################################# +# release static library with ssl + +!IF "$(CFG)" == "release-ssl" +CFLAGS = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB +LINKLIBS = libcurl.lib $(SSL_LIBS) +LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS) +LFLAGS = $(LFLAGS) $(SSL_LFLAGS) +!ENDIF + +################################################# +# release dynamic library with dynamic ssl + +!IF "$(CFG)" == "release-dll-ssl-dll" +CFLAGS = $(CFLAGS) $(SSL_CFLAGS) +LINKLIBS = libcurl_imp.lib $(SSL_LIBS) +LINKLIBS_DEBUG = libcurld_imp.lib $(SSL_LIBS) +LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) +!ENDIF + +################################################# +# release static library with ssl and zlib + +!IF "$(CFG)" == "release-ssl-zlib" +CFLAGS = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB +LINKLIBS = libcurl.lib $(SSL_LIBS) $(ZLIB_LIBS) +LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS) $(ZLIB_LIBS) +LFLAGS = $(LFLAGS) $(SSL_LFLAGS) $(ZLIB_LFLAGS) +!ENDIF + +################################################# +# release static library with dynamic ssl + +!IF "$(CFG)" == "release-ssl-dll" +CFLAGS = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB +LINKLIBS = libcurl.lib $(SSL_LIBS) +LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS) +LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) +!ENDIF + +################################################# +# release static library with dynamic zlib + +!IF "$(CFG)" == "release-zlib-dll" +CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB +LINKLIBS = libcurl.lib $(ZLIB_IMP_LIBS) +LINKLIBS_DEBUG = libcurld.lib $(ZLIB_IMP_LIBS) +LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS) +!ENDIF + +################################################# +# release dynamic library with dynamic zlib + +!IF "$(CFG)" == "release-dll-zlib-dll" +CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS) +LINKLIBS = libcurl_imp.lib $(ZLIB_IMP_LIBS) +LINKLIBS_DEBUG = libcurld_imp.lib $(ZLIB_IMP_LIBS) +LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS) +!ENDIF + +################################################# +# release static library with dynamic ssl and dynamic zlib + +!IF "$(CFG)" == "release-ssl-dll-zlib-dll" +CFLAGS = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB +LINKLIBS = libcurl.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS) +LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS) +LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS) +!ENDIF + +################################################# +# release dynamic library with dynamic ssl and dynamic zlib + +!IF "$(CFG)" == "release-dll-ssl-dll-zlib-dll" +CFLAGS = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS) +LINKLIBS = libcurl_imp.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS) +LINKLIBS_DEBUG = libcurld_imp.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS) +LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS) !ENDIF @@ -172,15 +230,10 @@ curld.res : curl.rc $(RCD) $(RESFLAGS) /Fo"$@" curl.rc clean: - -@erase $(RELEASE_OBJS) - -@erase $(DEBUG_OBJS) - -@erase vc60.idb - -@erase vc60.pdb - -@erase vc60.pch - -@erase vc70.idb - -@erase vc70.pch - -@erase curl.ilk - -@erase curl.pdb - -distrib: clean - -@erase $(PROGRAM_NAME) + @-erase $(PROGRAM_NAME) 2> NUL + @-erase $(RELEASE_OBJS) 2> NUL + @-erase $(DEBUG_OBJS) 2> NUL + @-erase *.idb 2> NUL + @-erase *.pdb 2> NUL + @-erase *.pch 2> NUL + @-erase *.ilk 2> NUL