Cody Jones' enhanced version of Samuel Díaz García's MSVC makefile patch.
authorDaniel Stenberg <daniel@haxx.se>
Tue, 18 Jan 2005 10:17:34 +0000 (10:17 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 18 Jan 2005 10:17:34 +0000 (10:17 +0000)
CHANGES
Makefile.dist
RELEASE-NOTES
lib/Makefile.vc6
src/Makefile.vc6

diff --git a/CHANGES b/CHANGES
index 08b0149..434768d 100644 (file)
--- 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
index 81a23f5..0546773 100644 (file)
@@ -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
index cd793e3..6f532eb 100644 (file)
@@ -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)
index 48f1301..3b65abf 100644 (file)
@@ -58,6 +58,8 @@ LNKDLL     = link.exe /DLL
 LNKLIB     = link.exe /lib\r
 LFLAGS     = /nologo\r
 SSLLIBS    = libeay32.lib ssleay32.lib\r
+ZLIBLIBSDLL= zdll.lib\r
+ZLIBLIBS   = zlib.lib\r
 !IFDEF USEMM_LIBS\r
 WINLIBS    = wsock32.lib winmm.lib\r
 !ELSE\r
@@ -72,8 +74,8 @@ CFGSET     = FALSE
 \r
 !IF "$(CFG)" == "release"\r
 TARGET = $(LIB_NAME).lib\r
-DIROBJ = .\$(CFG)\r
-LNK    = $(LNKLIB) /out:$(TARGET)\r
+DIROBJ = $(CFG)\r
+LNK    = $(LNKLIB) /out:$(DIROBJ)\$(TARGET)\r
 CC     = $(CCNODBG)\r
 CFGSET = TRUE\r
 !ENDIF\r
@@ -83,9 +85,9 @@ CFGSET = TRUE
 \r
 !IF "$(CFG)" == "release-zlib"\r
 TARGET   = $(LIB_NAME).lib\r
-DIROBJ   = .\$(CFG)\r
+DIROBJ   = $(CFG)\r
 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
-LNK      = $(LNKLIB) $(LFLAGSZLIB) /out:$(TARGET)\r
+LNK      = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)\r
 CC       = $(CCNODBG) $(CFLAGSZLIB)\r
 CFGSET   = TRUE\r
 !ENDIF\r
@@ -95,8 +97,8 @@ CFGSET   = TRUE
 \r
 !IF "$(CFG)" == "release-dll"\r
 TARGET = $(LIB_NAME).dll\r
-DIROBJ = .\$(CFG)\r
-LNK    = $(LNKDLL) $(WINLIBS) /out:$(TARGET) /IMPLIB:$(IMPLIB_NAME).lib\r
+DIROBJ = $(CFG)\r
+LNK    = $(LNKDLL) $(WINLIBS) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib\r
 CC     = $(CCNODBG)\r
 CFGSET = TRUE\r
 RESOURCE = $(DIROBJ)\libcurl.res\r
@@ -107,9 +109,9 @@ RESOURCE = $(DIROBJ)\libcurl.res
 \r
 !IF "$(CFG)" == "release-ssl"\r
 TARGET   = $(LIB_NAME).lib\r
-DIROBJ   = .\$(CFG)\r
-LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)/out32"\r
-LNK      = $(LNKLIB) $(LFLAGSSSL) /out:$(TARGET)\r
+DIROBJ   = $(CFG)\r
+LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"\r
+LNK      = $(LNKLIB) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)\r
 CC       = $(CCNODBG) $(CFLAGSSSL)\r
 CFGSET   = TRUE\r
 !ENDIF\r
@@ -118,81 +120,123 @@ CFGSET   = TRUE
 # release-ssl-dll\r
 \r
 !IF "$(CFG)" == "release-ssl-dll"\r
-TARGET   = $(LIB_NAME).dll\r
-DIROBJ   = .\$(CFG)\r
-LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)/out32dll"\r
-LNK      = $(LNKDLL) $(SSLLIBS) $(WINLIBS) $(LFLAGSSSL) /out:$(TARGET) /IMPLIB:$(IMPLIB_NAME).lib\r
+TARGET   = $(LIB_NAME).lib\r
+DIROBJ   = $(CFG)\r
+LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"\r
+LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)\r
 CC       = $(CCNODBG) $(CFLAGSSSL)\r
 CFGSET   = TRUE\r
-RESOURCE = $(DIROBJ)\libcurl.res\r
 !ENDIF\r
 \r
 ######################\r
 # release-ssl-zlib\r
+\r
 !IF "$(CFG)" == "release-ssl-zlib"\r
 TARGET   = $(LIB_NAME).lib\r
-DIROBJ   = .\$(CFG)\r
-LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)/out32"\r
+DIROBJ   = $(CFG)\r
+LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"\r
 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
-LNK      = $(LNKLIB) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(TARGET)\r
+LNK      = $(LNKLIB) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)\r
 CC       = $(CCNODBG) $(CFLAGSSSL) $(CFLAGSZLIB)\r
 CFGSET   = TRUE\r
 !ENDIF\r
 \r
 ######################\r
-# release-libcurl-ssl-dll\r
-!IF "$(CFG)" == "release-libcurl-ssl-dll"\r
-TARGET   = $(LIB_NAME).lib\r
-DIROBJ   = .\$(CFG)\r
-LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)/out32dll"\r
-LNK      = $(LNKLIB) $(SSLLIBS) $(LFLAGSSSL) /out:$(TARGET)\r
+# release-dll-ssl-dll\r
+\r
+!IF "$(CFG)" == "release-dll-ssl-dll"\r
+TARGET   = $(LIB_NAME).dll\r
+DIROBJ   = $(CFG)\r
+LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"\r
+LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib\r
 CC       = $(CCNODBG) $(CFLAGSSSL)\r
 CFGSET   = TRUE\r
 RESOURCE = $(DIROBJ)\libcurl.res\r
 !ENDIF\r
 \r
+######################\r
+# release-zlib-dll\r
+\r
+!IF "$(CFG)" == "release-zlib-dll"\r
+TARGET   = $(LIB_NAME).lib\r
+DIROBJ   = $(CFG)\r
+LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
+LNK      = $(LNKLIB) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)\r
+CC       = $(CCNODBG) $(CFLAGSZLIB)\r
+CFGSET   = TRUE\r
+!ENDIF\r
 \r
 ######################\r
-# debug\r
+# release-ssl-dll-zlib-dll\r
 \r
-!IF "$(CFG)" == "debug"\r
-TARGET = $(LIB_NAME_DEBUG).lib\r
-DIROBJ = .\$(CFG)\r
-LNK    = $(LNKLIB) /out:$(TARGET)\r
-CC     = $(CCDEBUG)\r
-CFGSET = TRUE\r
+!IF "$(CFG)" == "release-ssl-dll-zlib-dll"\r
+TARGET   = $(LIB_NAME).lib\r
+DIROBJ   = $(CFG)\r
+LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
+LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"\r
+LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)\r
+CC       = $(CCNODBG) $(CFLAGSSSL) $(CFLAGSZLIB)\r
+CFGSET   = TRUE\r
 !ENDIF\r
 \r
 ######################\r
-# debug-dll\r
+# release-dll-zlib-dll\r
 \r
-!IF "$(CFG)" == "debug-dll"\r
-TARGET = $(LIB_NAME_DEBUG).dll\r
-DIROBJ = .\$(CFG)\r
-LNK    = $(LNKDLL) $(WINLIBS) /DEBUG /out:$(TARGET) /IMPLIB:$(IMPLIB_NAME_DEBUG).lib /PDB:$(IMPLIB_NAME_DEBUG).pdb\r
+!IF "$(CFG)" == "release-dll-zlib-dll"\r
+TARGET   = $(LIB_NAME).dll\r
+DIROBJ   = $(CFG)\r
+LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
+LNK      = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib\r
+CC       = $(CCNODBG) $(CFLAGSZLIB)\r
+CFGSET   = TRUE\r
+RESOURCE = $(DIROBJ)\libcurl.res\r
+!ENDIF\r
+\r
+######################\r
+# release-dll-ssl-dll-zlib-dll\r
+\r
+!IF "$(CFG)" == "release-dll-ssl-dll-zlib-dll"\r
+TARGET   = $(LIB_NAME).dll\r
+DIROBJ   = $(CFG)\r
+LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
+LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"\r
+LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib\r
+CC       = $(CCNODBG) $(CFLAGSSSL) $(CFLAGSZLIB)\r
+CFGSET   = TRUE\r
+RESOURCE = $(DIROBJ)\libcurl.res\r
+!ENDIF\r
+\r
+######################\r
+# debug\r
+\r
+!IF "$(CFG)" == "debug"\r
+TARGET = $(LIB_NAME_DEBUG).lib\r
+DIROBJ = $(CFG)\r
+LNK    = $(LNKLIB) /out:$(DIROBJ)\$(TARGET)\r
 CC     = $(CCDEBUG)\r
 CFGSET = TRUE\r
-RESOURCE = $(DIROBJ)\libcurl.res\r
 !ENDIF\r
 \r
 ######################\r
 # debug-ssl\r
-#todo\r
+\r
 !IF "$(CFG)" == "debug-ssl"\r
 TARGET   = $(LIB_NAME_DEBUG).lib\r
-DIROBJ   = .\$(CFG)\r
-LNK      = $(LNKLIB) $(LFLAGSSSL) /out:$(TARGET)\r
+DIROBJ   = $(CFG)\r
+LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"\r
+LNK      = $(LNKLIB) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)\r
 CC       = $(CCDEBUG) $(CFLAGSSSL)\r
 CFGSET   = TRUE\r
 !ENDIF\r
 \r
 ######################\r
 # debug-zlib\r
+\r
 !IF "$(CFG)" == "debug-zlib"\r
 TARGET   = $(LIB_NAME_DEBUG).lib\r
-DIROBJ   = .\$(CFG)\r
+DIROBJ   = $(CFG)\r
 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
-LNK      = $(LNKLIB) $(LFLAGSZLIB) /out:$(TARGET)\r
+LNK      = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)\r
 CC       = $(CCDEBUG) $(CFLAGSZLIB)\r
 CFGSET   = TRUE\r
 !ENDIF\r
@@ -201,38 +245,151 @@ CFGSET   = TRUE
 # debug-ssl-dll\r
 \r
 !IF "$(CFG)" == "debug-ssl-dll"\r
+TARGET   = $(LIB_NAME_DEBUG).lib\r
+DIROBJ   = $(CFG)\r
+LFLAGSSSL = /LIBPATH:$(OPENSSL_PATH)\out32dll\r
+LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)\r
+CC       = $(CCDEBUG) $(CFLAGSSSL)\r
+CFGSET   = TRUE\r
+!ENDIF\r
+\r
+######################\r
+# debug-ssl-zlib\r
+\r
+!IF "$(CFG)" == "debug-ssl-zlib"\r
+TARGET   = $(LIB_NAME_DEBUG).lib\r
+DIROBJ   = $(CFG)\r
+LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
+LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"\r
+LNK      = $(LNKLIB) $(SSLLIBS) $(ZLIBLIBS) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)\r
+CC       = $(CCDEBUG) $(CFLAGSSSL) $(CFLAGSZLIB)\r
+CFGSET   = TRUE\r
+!ENDIF\r
+\r
+######################\r
+# debug-zlib-dll\r
+\r
+!IF "$(CFG)" == "debug-zlib-dll"\r
+TARGET   = $(LIB_NAME_DEBUG).lib\r
+DIROBJ   = $(CFG)\r
+LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
+LNK      = $(LNKLIB) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)\r
+CC       = $(CCDEBUG) $(CFLAGSZLIB)\r
+CFGSET   = TRUE\r
+!ENDIF\r
+\r
+######################\r
+# debug-ssl-dll-zlib-dll\r
+\r
+!IF "$(CFG)" == "debug-ssl-dll-zlib-dll"\r
+TARGET   = $(LIB_NAME_DEBUG).lib\r
+DIROBJ   = $(CFG)\r
+LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
+LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"\r
+LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)\r
+CC       = $(CCDEBUG) $(CFLAGSSSL) $(CFLAGSZLIB)\r
+CFGSET   = TRUE\r
+!ENDIF\r
+\r
+######################\r
+# debug-dll\r
+\r
+!IF "$(CFG)" == "debug-dll"\r
+TARGET = $(LIB_NAME_DEBUG).dll\r
+DIROBJ = $(CFG)\r
+LNK    = $(LNKDLL) $(WINLIBS) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb\r
+CC     = $(CCDEBUG)\r
+CFGSET = TRUE\r
+RESOURCE = $(DIROBJ)\libcurl.res\r
+!ENDIF\r
+\r
+######################\r
+# debug-dll-ssl-dll\r
+\r
+!IF "$(CFG)" == "debug-dll-ssl-dll"\r
 TARGET   = $(LIB_NAME_DEBUG).dll\r
-DIROBJ   = .\$(CFG)\r
-LFLAGSSSL = /LIBPATH:$(OPENSSL_PATH)/out32dll\r
-LNK      = $(LNKDLL) $(WINLIBS) $(LFLAGSSSL) /DEBUG /out:$(TARGET) /IMPLIB:$(IMPLIB_NAME_DEBUG).lib /PDB:$(IMPLIB_NAME_DEBUG).pdb\r
+DIROBJ   = $(CFG)\r
+LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"\r
+LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb\r
 CC       = $(CCDEBUG) $(CFLAGSSSL)\r
 CFGSET   = TRUE\r
 RESOURCE = $(DIROBJ)\libcurl.res\r
 !ENDIF\r
 \r
+######################\r
+# debug-dll-zlib-dll\r
+\r
+!IF "$(CFG)" == "debug-dll-zlib-dll"\r
+TARGET   = $(LIB_NAME_DEBUG).dll\r
+DIROBJ   = $(CFG)\r
+LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
+LNK      = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb\r
+CC       = $(CCDEBUG) $(CFLAGSZLIB)\r
+CFGSET   = TRUE\r
+RESOURCE = $(DIROBJ)\libcurl.res\r
+!ENDIF\r
+\r
+######################\r
+# debug-dll-ssl-dll-zlib-dll\r
+\r
+!IF "$(CFG)" == "debug-dll-ssl-dll-zlib-dll"\r
+TARGET   = $(LIB_NAME_DEBUG).dll\r
+DIROBJ   = $(CFG)\r
+LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
+LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"\r
+LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb\r
+CC       = $(CCDEBUG) $(CFLAGSSSL) $(CFLAGSZLIB)\r
+CFGSET   = TRUE\r
+RESOURCE = $(DIROBJ)\libcurl.res\r
+!ENDIF\r
+\r
 #######################\r
 # Usage\r
 #\r
-!IF "$(CFGSET)" == "FALSE"\r
+!IF "$(CFGSET)" == "FALSE" && "$(CFG)" != ""\r
 !MESSAGE Usage: nmake /f makefile.vc6 CFG=<config> <target>\r
 !MESSAGE where <config> is one of:\r
-!MESSAGE   release          - release static library\r
-!MESSAGE   release-dll      - release dll\r
-!MESSAGE   release-zlib     - release static library with zlib\r
-!MESSAGE   release-ssl      - release static library with ssl\r
-!MESSAGE   release-ssl-zlib - release static library with ssl and zlib\r
-!MESSAGE   release-ssl-dll  - release dll library with ssl\r
-!MESSAGE   release-libcurl-ssl-dll - static libcurl with shared ssl\r
-!MESSAGE   debug            - debug static library\r
-!MESSAGE   debug-dll        - debug dll\r
-!MESSAGE   debug-zlib       - debug static library with zlib\r
-!MESSAGE   debug-ssl        - debug static library with ssl\r
-!MESSAGE   debug-ssl-dll    - debug dll library with ssl\r
+!MESSAGE   release                      - release static library\r
+!MESSAGE   release-ssl                  - release static library with ssl\r
+!MESSAGE   release-zlib                 - release static library with zlib\r
+!MESSAGE   release-ssl-zlib             - release static library with ssl and zlib\r
+!MESSAGE   release-ssl-dll              - release static library with dynamic ssl\r
+!MESSAGE   release-zlib-dll             - release static library with dynamic zlib\r
+!MESSAGE   release-ssl-dll-zlib-dll     - release static library with dynamic ssl and dynamic zlib\r
+!MESSAGE   release-dll                  - release dynamic library\r
+!MESSAGE   release-dll-ssl-dll          - release dynamic library with dynamic ssl\r
+!MESSAGE   release-dll-zlib-dll         - release dynamic library with dynamic zlib\r
+!MESSAGE   release-dll-ssl-dll-zlib-dll - release dynamic library with dynamic ssl and dynamic zlib\r
+!MESSAGE   debug                        - debug static library\r
+!MESSAGE   debug-ssl                    - debug static library with ssl\r
+!MESSAGE   debug-zlib                   - debug static library with zlib\r
+!MESSAGE   debug-ssl-zlib               - debug static library with ssl and zlib\r
+!MESSAGE   debug-ssl-dll                - debug static library with dynamic ssl\r
+!MESSAGE   debug-zlib-dll               - debug static library with dynamic zlib\r
+!MESSAGE   debug-ssl-dll-zlib-dll       - debug static library with dynamic ssl and dynamic zlib\r
+!MESSAGE   debug-dll                    - debug dynamic library\r
+!MESSAGE   debug-dll-ssl-dll            - debug dynamic library with dynamic ssl\r
+!MESSAGE   debug-dll-zlib-dll           - debug dynamic library with dynamic zlib1\r
+!MESSAGE   debug-dll-ssl-dll-zlib-dll   - debug dynamic library with dynamic ssl and dynamic zlib\r
 !MESSAGE <target> can be left blank in which case all is assumed\r
 !ERROR please choose a valid configuration "$(CFG)"\r
 !ENDIF\r
 \r
 #######################\r
+# Only the clean target can be used if a config was not provided.\r
+#\r
+!IF "$(CFGSET)" == "FALSE"\r
+clean:\r
+       @-erase /s *.dll 2> NUL\r
+       @-erase /s *.exp 2> NUL\r
+       @-erase /s *.idb 2> NUL\r
+       @-erase /s *.lib 2> NUL\r
+       @-erase /s *.obj 2> NUL\r
+       @-erase /s *.pch 2> NUL\r
+       @-erase /s *.pdb 2> NUL\r
+       @-erase /s *.res 2> NUL\r
+!ELSE\r
+# A config was provided, so the library can be built.\r
 #\r
 X_OBJS= \\r
        $(DIROBJ)\base64.obj \\r
@@ -290,9 +447,16 @@ X_OBJS= \
 \r
 all : $(TARGET)\r
 \r
-\r
 $(TARGET): $(X_OBJS)\r
        $(LNK) $(LFLAGS) $(X_OBJS)\r
+       -xcopy $(DIROBJ)\$(LIB_NAME).dll       . /y\r
+       -xcopy $(DIROBJ)\$(LIB_NAME).lib       . /y\r
+       -xcopy $(DIROBJ)\$(LIB_NAME_DEBUG).dll . /y\r
+       -xcopy $(DIROBJ)\$(LIB_NAME_DEBUG).lib . /y\r
+       -xcopy $(DIROBJ)\$(IMPLIB_NAME).lib    . /y\r
+       -xcopy $(DIROBJ)\$(IMPLIB_NAME).lib    . /y\r
+       -xcopy $(DIROBJ)\*.exp                 . /y\r
+       -xcopy $(DIROBJ)\*.pdb                 . /y\r
 \r
 $(X_OBJS): $(DIROBJ)\r
 \r
@@ -305,18 +469,14 @@ $(DIROBJ):
        $(CC) $(CFLAGS) /Fo"$@"  $<\r
 \r
 debug-dll\libcurl.res \\r
-debug-ssl-dll\libcurl.res \\r
-release-libcurl-ssl-dll\libcurl.res: libcurl.rc\r
+debug-dll-ssl-dll\libcurl.res \\r
+debug-dll-zlib-dll\libcurl.res \\r
+debug-dll-ssl-dll-zlib-dll\libcurl.res: libcurl.rc\r
        rc /dCURLDEBUG=1 /Fo $@ libcurl.rc\r
 \r
 release-dll\libcurl.res \\r
-release-ssl-dll\libcurl.res \\r
-release-libcurl-ssl-dll\libcurl.res: libcurl.rc\r
+release-dll-ssl-dll\libcurl.res \\r
+release-dll-zlib-dll\libcurl.res \\r
+release-dll-ssl-dll-zlib-dll\libcurl.res: libcurl.rc\r
        rc /dCURLDEBUG=0 /Fo $@ libcurl.rc\r
-\r
-clean:\r
-       -@erase $(DIROBJ)\*.obj\r
-       -@erase $(DIROBJ)\*.res\r
-       -@erase vc60.idb\r
-       -@erase vc60.pch\r
-\r
+!ENDIF  # End of case where a config was provided.\r
index 5cbf1ea..402b6f8 100644 (file)
@@ -25,13 +25,15 @@ OPENSSL_PATH = ../../openssl-0.9.7e
 \r
 ########################################################\r
 ## Nothing more to do below this line!\r
-CFLAGSZLIB = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /I "$(ZLIB_PATH)"\r
-LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
-ZLIBLIBS   = zlib.lib\r
-SSLINC     = /I "$(OPENSSL_PATH)/inc32" /I "$(OPENSSL_PATH)/inc32/openssl"\r
-CFLAGSSSL  = /DUSE_SSLEAY\r
-LFLAGSSSL  = /LIBPATH:"$(OPENSSL_PATH)/out32dll"\r
-SSLLIBS    = libeay32.lib ssleay32.lib gdi32.lib\r
+ZLIB_CFLAGS   = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /I "$(ZLIB_PATH)"\r
+ZLIB_LFLAGS   = "/LIBPATH:$(ZLIB_PATH)"\r
+ZLIB_LIBS     = zlib.lib\r
+ZLIB_IMP_LIBS = zdll.lib\r
+\r
+SSL_CFLAGS     = /DUSE_SSLEAY\r
+SSL_LFLAGS     = /LIBPATH:"$(OPENSSL_PATH)/out32"\r
+SSL_IMP_LFLAGS = /LIBPATH:"$(OPENSSL_PATH)/out32dll"\r
+SSL_LIBS       = libeay32.lib ssleay32.lib gdi32.lib\r
 \r
 ## Release\r
 CCR   = cl.exe /MD /O2 /DNDEBUG\r
@@ -71,52 +73,108 @@ DEBUG_OBJS= \
        curld.res\r
 \r
 #################################################\r
-# release-zlib (static libcurl + zlib)\r
+# If CFG not specified, use static libs\r
+\r
+CFLAGS         = $(CFLAGS) /DCURL_STATICLIB\r
+LINKLIBS       = libcurl.lib\r
+LINKLIBS_DEBUG = libcurld.lib\r
+\r
+#################################################\r
+# release dynamic library\r
+\r
+!IF "$(CFG)" == "release-dll"\r
+LINKLIBS       = libcurl_imp.lib\r
+LINKLIBS_DEBUG = libcurld_imp.lib\r
+!ENDIF\r
+\r
+#################################################\r
+# release static library with zlib\r
 \r
 !IF "$(CFG)" == "release-zlib"\r
-CFLAGS         = $(CFLAGS) $(CFLAGSZLIB) /DCURL_STATICLIB\r
-LINKLIBS       = libcurl.lib  $(ZLIBLIBS)\r
-LINKLIBS_DEBUG = libcurld.lib $(ZLIBLIBS)\r
-LFLAGS         = $(LFLAGS) $(LFLAGSZLIB)\r
+CFLAGS         = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB\r
+LINKLIBS       = libcurl.lib  $(ZLIB_LIBS)\r
+LINKLIBS_DEBUG = libcurld.lib $(ZLIB_LIBS)\r
+LFLAGS         = $(LFLAGS) $(ZLIB_LFLAGS)\r
 !ENDIF\r
 \r
 #################################################\r
-# release-ssl (static libcurl + ssl)\r
+# release static library with ssl\r
 \r
 !IF "$(CFG)" == "release-ssl"\r
-CFLAGS         = $(CFLAGS) $(CFLAGSSSL) /DCURL_STATICLIB\r
-LINKLIBS       = libcurl.lib  $(SSLLIBS)\r
-LINKLIBS_DEBUG = libcurld.lib $(SSLLIBS)\r
-LFLAGS         = $(LFLAGS) $(LFLAGSSSL)\r
+CFLAGS         = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB\r
+LINKLIBS       = libcurl.lib  $(SSL_LIBS)\r
+LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS)\r
+LFLAGS         = $(LFLAGS) $(SSL_LFLAGS)\r
 !ENDIF\r
 \r
 #################################################\r
-# release-libcurl-ssl-dll (libcurl.dll + ssl)\r
+# release dynamic library with dynamic ssl\r
 \r
-!IF "$(CFG)" == "release-libcurl-ssl-dll"\r
-CFLAGS         = $(CFLAGS) $(CFLAGSSSL)\r
-LINKLIBS       = libcurl_imp.lib  $(SSLLIBS)\r
-LINKLIBS_DEBUG = libcurld_imp.lib $(SSLLIBS)\r
-LFLAGS         = $(LFLAGS) $(LFLAGSSSL)\r
+!IF "$(CFG)" == "release-dll-ssl-dll"\r
+CFLAGS         = $(CFLAGS) $(SSL_CFLAGS)\r
+LINKLIBS       = libcurl_imp.lib  $(SSL_LIBS)\r
+LINKLIBS_DEBUG = libcurld_imp.lib $(SSL_LIBS)\r
+LFLAGS         = $(LFLAGS) $(SSL_IMP_LFLAGS)\r
 !ENDIF\r
 \r
 #################################################\r
-# release-ssl-zlib (static libcurl +  ssl + zlib)\r
+# release static library with ssl and zlib\r
 \r
 !IF "$(CFG)" == "release-ssl-zlib"\r
-CFLAGS         = $(CFLAGS) $(CFLAGSSSL) $(CFLAGSZLIB) /DCURL_STATICLIB\r
-LINKLIBS       = libcurl.lib  $(SSLLIBS) $(ZLIBLIBS)\r
-LINKLIBS_DEBUG = libcurld.lib $(SSLLIBS) $(ZLIBLIBS)\r
-LFLAGS         = $(LFLAGS) $(LFLAGSSSL) $(LFLAGSZLIB)\r
+CFLAGS         = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB\r
+LINKLIBS       = libcurl.lib  $(SSL_LIBS) $(ZLIB_LIBS)\r
+LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS) $(ZLIB_LIBS)\r
+LFLAGS         = $(LFLAGS) $(SSL_LFLAGS) $(ZLIB_LFLAGS)\r
 !ENDIF\r
 \r
 #################################################\r
-# If CFG not specified, use static libs\r
+# release static library with dynamic ssl\r
 \r
-!IF "$(CFG)." == "."\r
-CFLAGS         = $(CFLAGS) /DCURL_STATICLIB\r
-LINKLIBS       = libcurl.lib\r
-LINKLIBS_DEBUG = libcurld.lib\r
+!IF "$(CFG)" == "release-ssl-dll"\r
+CFLAGS         = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB\r
+LINKLIBS       = libcurl.lib  $(SSL_LIBS)\r
+LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS)\r
+LFLAGS         = $(LFLAGS) $(SSL_IMP_LFLAGS)\r
+!ENDIF\r
+\r
+#################################################\r
+# release static library with dynamic zlib\r
+\r
+!IF "$(CFG)" == "release-zlib-dll"\r
+CFLAGS         = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB\r
+LINKLIBS       = libcurl.lib  $(ZLIB_IMP_LIBS)\r
+LINKLIBS_DEBUG = libcurld.lib $(ZLIB_IMP_LIBS)\r
+LFLAGS         = $(LFLAGS) $(ZLIB_LFLAGS)\r
+!ENDIF\r
+\r
+#################################################\r
+# release dynamic library with dynamic zlib\r
+\r
+!IF "$(CFG)" == "release-dll-zlib-dll"\r
+CFLAGS         = $(CFLAGS) $(ZLIB_CFLAGS)\r
+LINKLIBS       = libcurl_imp.lib  $(ZLIB_IMP_LIBS)\r
+LINKLIBS_DEBUG = libcurld_imp.lib $(ZLIB_IMP_LIBS)\r
+LFLAGS         = $(LFLAGS) $(ZLIB_LFLAGS)\r
+!ENDIF\r
+\r
+#################################################\r
+# release static library with dynamic ssl and dynamic zlib\r
+\r
+!IF "$(CFG)" == "release-ssl-dll-zlib-dll"\r
+CFLAGS         = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB\r
+LINKLIBS       = libcurl.lib  $(SSL_LIBS) $(ZLIB_IMP_LIBS)\r
+LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS)\r
+LFLAGS         = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS)\r
+!ENDIF\r
+\r
+#################################################\r
+# release dynamic library with dynamic ssl and dynamic zlib\r
+\r
+!IF "$(CFG)" == "release-dll-ssl-dll-zlib-dll"\r
+CFLAGS         = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS)\r
+LINKLIBS       = libcurl_imp.lib  $(SSL_LIBS) $(ZLIB_IMP_LIBS)\r
+LINKLIBS_DEBUG = libcurld_imp.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS)\r
+LFLAGS         = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS)\r
 !ENDIF\r
 \r
 \r
@@ -172,15 +230,10 @@ curld.res : curl.rc
        $(RCD) $(RESFLAGS) /Fo"$@" curl.rc\r
 \r
 clean:\r
-       -@erase $(RELEASE_OBJS)\r
-       -@erase $(DEBUG_OBJS)\r
-       -@erase vc60.idb\r
-       -@erase vc60.pdb\r
-       -@erase vc60.pch\r
-       -@erase vc70.idb\r
-       -@erase vc70.pch\r
-       -@erase curl.ilk\r
-       -@erase curl.pdb\r
-\r
-distrib: clean\r
-       -@erase $(PROGRAM_NAME)\r
+       @-erase $(PROGRAM_NAME) 2> NUL\r
+       @-erase $(RELEASE_OBJS) 2> NUL\r
+       @-erase $(DEBUG_OBJS) 2> NUL\r
+       @-erase *.idb 2> NUL\r
+       @-erase *.pdb 2> NUL\r
+       @-erase *.pch 2> NUL\r
+       @-erase *.ilk 2> NUL\r