diff --git a/Makefile.inc.vc b/Makefile.inc.vc new file mode 100644 index 0000000..c963705 --- /dev/null +++ b/Makefile.inc.vc @@ -0,0 +1,72 @@ + +# +# Stem for static libs and DLLs +# +!IFNDEF LIB_NAME +LIB_NAME = libcurl +!IFNDEF LIB_NAME_DEBUG +LIB_NAME_DEBUG = $(LIB_NAME)d +!ENDIF +!ENDIF + +!IFNDEF LIB_STATIC_POSTFIX +LIB_STATIC_POSTFIX=_a +!ENDIF + +LIB_NAME_STATIC=$(LIB_NAME)$(LIB_STATIC_POSTFIX).lib + +# +# Stem for DLL import libs +# +!IFNDEF LIB_NAME +LIB_NAME_IMP = $(LIB_NAME)_imp.lib +!IFNDEF LIB_NAME_DEBUG +LIB_NAME_IMP_DEBUG = $(LIB_NAME_DEBUG)_imp.lib +!ENDIF +!ENDIF + +!IFDEF WITH_DEVEL +!IFNDEF OPENSSL_PATH +OPENSSL_PATH = ../../openssl-0.9.8o +!ENDIF + +!IFNDEF ZLIB_PATH +ZLIB_PATH = ../../zlib-1.2.5 +!ENDIF +!ENDIF + +!IFNDEF MACHINE +MACHINE = X86 +!ENDIF + +# USE_WINDOWS_SSPI uses windows libraries to allow NTLM authentication +# without an openssl installation and offers the ability to authenticate +# using the "current logged in user". Since at least with MSVC6 the sspi.h +# header is broken it is either required to install the Windows SDK, +# or to fix sspi.h with adding this define at the beginning of sspi.h: +# #define FreeCredentialHandle FreeCredentialsHandle +# +# If, for some reason the Windows SDK is installed but not installed +# in the default location, you can specify WINDOWS_SDK_PATH. +# It can be downloaded from: +# http://www.microsoft.com/msdownload/platformsdk/sdkupdate/ + +# WINDOWS_SSPI = 1 + +!IFDEF WINDOWS_SSPI +!IFNDEF WINDOWS_SDK_PATH +WINDOWS_SDK_PATH = "C:\Program Files\Microsoft SDK" +!ENDIF +!ENDIF + +############################################################# +## Nothing more to do below this line! + +# Runtime library configuration +RTLIB = /MD +RTLIBD = /MDd + +!IF "$(RTLIBCFG)" == "static" +RTLIB = /MT +RTLIBD = /MTd +!ENDIF diff --git a/lib/Makefile.vc6 b/lib/Makefile.vc6 index 2e18e14..942f05f 100644 --- a/lib/Makefile.vc6 +++ b/lib/Makefile.vc6 @@ -41,67 +41,50 @@ # ############################################################## -# -# Stem for static libs and DLLs -# -LIB_NAME = libcurl -LIB_NAME_DEBUG = libcurld +!include "../Makefile.inc.vc" -# -# Stem for DLL import libs -# -IMPLIB_NAME = libcurl_imp -IMPLIB_NAME_DEBUG = libcurld_imp +############################################################# +## Nothing more to do below this line! +CCNODBG = cl.exe /O2 /DNDEBUG +CCDEBUG = cl.exe /Od /Gm /Zi /D_DEBUG /GZ +LFLAGS = /nologo /machine:$(MACHINE) +LNKDLL = link.exe /DLL +LNKLIB = link.exe /lib -!IFNDEF OPENSSL_PATH -OPENSSL_PATH = ../../openssl-0.9.8o -!ENDIF +CFLAGSLIB = /DCURL_STATICLIB +CFLAGS = /I. /I../include /nologo /W3 /GX /DWIN32 /YX /FD /c /DBUILDING_LIBCURL -!IFNDEF ZLIB_PATH -ZLIB_PATH = ../../zlib-1.2.5 -!ENDIF +ZLIB_CFLAGS = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ -!IFNDEF MACHINE -MACHINE = X86 -!ENDIF +SSH2_CFLAGS = /DHAVE_LIBSSH2 /DHAVE_LIBSSH2_H /DLIBSSH2_WIN32 /DLIBSSH2_LIBRARY /DUSE_LIBSSH2 +SSLLIBS = libeay32.lib ssleay32.lib -# USE_WINDOWS_SSPI uses windows libraries to allow NTLM authentication -# without an openssl installation and offers the ability to authenticate -# using the "current logged in user". Since at least with MSVC6 the sspi.h -# header is broken it is either required to install the Windows SDK, -# or to fix sspi.h with adding this define at the beginning of sspi.h: -# #define FreeCredentialHandle FreeCredentialsHandle -# -# If, for some reason the Windows SDK is installed but not installed -# in the default location, you can specify WINDOWS_SDK_PATH. -# It can be downloaded from: -# http://www.microsoft.com/msdownload/platformsdk/sdkupdate/ +WINLIBS = ws2_32.lib wldap32.lib -# WINDOWS_SSPI = 1 +!IFDEF WITH_DEVEL +# we only need one lib/include path, ingore the LFLAG +LFLAGS=$(LFLAGS) "/LIBPATH:$(WITH_DEVEL)\lib" +CFLAGS=$(CFLAGS) /I "$(WITH_DEVEL)\include" -!IFDEF WINDOWS_SSPI -!IFNDEF WINDOWS_SDK_PATH -WINDOWS_SDK_PATH = "C:\Program Files\Microsoft SDK" -!ENDIF -!ENDIF +# curl uses non standard include path, w/o openssl prefix +SSL_CFLAGS = /DUSE_SSLEAY /I "$(WITH_DEVEL)\include\openssl" -############################################################# -## Nothing more to do below this line! +ZLIBLIBSDLL= zlib.lib +ZLIBLIBS = zlib_a.lib -CCNODBG = cl.exe /O2 /DNDEBUG -CCDEBUG = cl.exe /Od /Gm /Zi /D_DEBUG /GZ -CFLAGSSSL = /DUSE_SSLEAY /I "$(OPENSSL_PATH)/inc32" /I "$(OPENSSL_PATH)/inc32/openssl" -CFLAGSZLIB = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /I "$(ZLIB_PATH)" -CFLAGS = /I. /I../include /nologo /W3 /GX /DWIN32 /YX /FD /c /DBUILDING_LIBCURL -CFLAGSLIB = /DCURL_STATICLIB -LNKDLL = link.exe /DLL -LNKLIB = link.exe /lib -LFLAGS = /nologo /machine:$(MACHINE) -SSLLIBS = libeay32.lib ssleay32.lib +SSH2LIBSDLL = libssh2.lib +SSH2LIBS = libssh2_a.lib + +SSH2_CFLAGS= $(SSH2_CFLAGS) /I$(WITH_DEVEL)/include/libssh2 + +!ELSE +SSL_LFLAGS = "/LIBPATH:$(OPENSSL_PATH)\lib" +SSL_CFLAGS = /DUSE_SSLEAY /I "$(OPENSSL_PATH)/inc32" /I "$(OPENSSL_PATH)/inc32/openssl" +ZLIB_LFLAGS = "/LIBPATH:$(ZLIB_PATH)" +ZLIB_CFLAGS = $(ZLIB_CFLAGS) /I "$(ZLIB_PATH)" ZLIBLIBSDLL= zdll.lib ZLIBLIBS = zlib.lib -WINLIBS = ws2_32.lib wldap32.lib -CFLAGS = $(CFLAGS) +!ENDIF CFGSET = FALSE @@ -124,13 +107,14 @@ RTLIB = /MT RTLIBD = /MTd !ENDIF +DIROBJ = ..\builds\lib-$(CFG)-obj +DIRDIST = ..\builds\lib-$(CFG)\ ###################### # release !IF "$(CFG)" == "release" -TARGET = $(LIB_NAME).lib -DIROBJ = $(CFG) +TARGET = $(LIB_NAME_STATIC) LNK = $(LNKLIB) /out:$(DIROBJ)\$(TARGET) CC = $(CCNODBG) $(RTLIB) $(CFLAGSLIB) CFGSET = TRUE @@ -140,11 +124,9 @@ CFGSET = TRUE # release-zlib !IF "$(CFG)" == "release-zlib" -TARGET = $(LIB_NAME).lib -DIROBJ = $(CFG) -LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)" -LNK = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) -CC = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB) $(CFLAGSLIB) +TARGET = $(LIB_NAME_STATIC) +LNK = $(LNKLIB) $(ZLIBLIBS) $(ZLIB_LFLAGS) /out:$(DIROBJ)\$(TARGET) +CC = $(CCNODBG) $(RTLIB) $(ZLIB_CFLAGS) $(CFLAGSLIB) CFGSET = TRUE !ENDIF @@ -153,8 +135,7 @@ CFGSET = TRUE !IF "$(CFG)" == "release-dll" TARGET = $(LIB_NAME).dll -DIROBJ = $(CFG) -LNK = $(LNKDLL) $(WINLIBS) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib +LNK = $(LNKDLL) $(WINLIBS) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIB_NAME_IMP).lib CC = $(CCNODBG) $(RTLIB) CFGSET = TRUE RESOURCE = $(DIROBJ)\libcurl.res @@ -164,11 +145,10 @@ RESOURCE = $(DIROBJ)\libcurl.res # release-ssl !IF "$(CFG)" == "release-ssl" -TARGET = $(LIB_NAME).lib -DIROBJ = $(CFG) -LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32" -LNK = $(LNKLIB) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET) -CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSLIB) +TARGET = $(LIB_NAME_STATIC) +SSL_LFLAGS = "/LIBPATH:$(OPENSSL_PATH)\out32" +LNK = $(LNKLIB) $(SSL_LFLAGS) /out:$(DIROBJ)\$(TARGET) +CC = $(CCNODBG) $(RTLIB) $(SSL_CFLAGS) $(CFLAGSLIB) CFGSET = TRUE !ENDIF @@ -176,11 +156,10 @@ CFGSET = TRUE # release-ssl-dll !IF "$(CFG)" == "release-ssl-dll" -TARGET = $(LIB_NAME).lib -DIROBJ = $(CFG) -LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll" -LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET) -CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSLIB) +TARGET = $(LIB_NAME_STATIC) +SSL_LFLAGS = "/LIBPATH:$(OPENSSL_PATH)\out32dll" +LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(SSL_LFLAGS) /out:$(DIROBJ)\$(TARGET) +CC = $(CCNODBG) $(RTLIB) $(SSL_CFLAGS) $(CFLAGSLIB) CFGSET = TRUE !ENDIF @@ -188,12 +167,10 @@ CFGSET = TRUE # release-ssl-zlib !IF "$(CFG)" == "release-ssl-zlib" -TARGET = $(LIB_NAME).lib -DIROBJ = $(CFG) -LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32" -LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)" -LNK = $(LNKLIB) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) -CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB) +TARGET = $(LIB_NAME_STATIC) +SSL_LFLAGS = "/LIBPATH:$(OPENSSL_PATH)\out32" +LNK = $(LNKLIB) $(SSL_LFLAGS) $(ZLIB_LFLAGS) /out:$(DIROBJ)\$(TARGET) +CC = $(CCNODBG) $(RTLIB) $(SSL_CFLAGS) $(ZLIB_CFLAGS) $(CFLAGSLIB) CFGSET = TRUE !ENDIF @@ -202,10 +179,9 @@ CFGSET = TRUE !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) $(RTLIB) $(CFLAGSSSL) +SSL_LFLAGS = "/LIBPATH:$(OPENSSL_PATH)\out32dll" +LNK = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(SSL_LFLAGS) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIB_NAME_IMP).lib +CC = $(CCNODBG) $(RTLIB) $(SSL_CFLAGS) CFGSET = TRUE RESOURCE = $(DIROBJ)\libcurl.res !ENDIF @@ -214,11 +190,9 @@ RESOURCE = $(DIROBJ)\libcurl.res # 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) $(RTLIB) $(CFLAGSZLIB) $(CFLAGSLIB) +TARGET = $(LIB_NAME_STATIC) +LNK = $(LNKLIB) $(WINLIBS) $(ZLIBLIBSDLL) $(ZLIB_LFLAGS) /out:$(DIROBJ)\$(TARGET) +CC = $(CCNODBG) $(RTLIB) $(ZLIB_CFLAGS) $(CFLAGSLIB) CFGSET = TRUE !ENDIF @@ -226,12 +200,10 @@ CFGSET = TRUE # 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) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB) +TARGET = $(LIB_NAME_STATIC) +SSL_LFLAGS = "/LIBPATH:$(OPENSSL_PATH)\out32dll" +LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(SSL_LFLAGS) $(ZLIB_LFLAGS) /out:$(DIROBJ)\$(TARGET) +CC = $(CCNODBG) $(RTLIB) $(SSL_CFLAGS) $(ZLIB_CFLAGS) $(CFLAGSLIB) CFGSET = TRUE !ENDIF @@ -240,10 +212,8 @@ CFGSET = TRUE !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) $(RTLIB) $(CFLAGSZLIB) +LNK = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(ZLIB_LFLAGS) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIB_NAME_IMP).lib +CC = $(CCNODBG) $(RTLIB) $(ZLIB_CFLAGS) CFGSET = TRUE RESOURCE = $(DIROBJ)\libcurl.res !ENDIF @@ -253,21 +223,29 @@ RESOURCE = $(DIROBJ)\libcurl.res !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) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB) +SSL_LFLAGS = "/LIBPATH:$(OPENSSL_PATH)\out32dll" +LNK = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(SSL_LFLAGS) $(ZLIB_LFLAGS) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIB_NAME_IMP).lib +CC = $(CCNODBG) $(RTLIB) $(SSL_CFLAGS) $(ZLIB_CFLAGS) CFGSET = TRUE RESOURCE = $(DIROBJ)\libcurl.res !ENDIF + +###################### +# release-ssh2-ssl-dll-zlib + +!IF "$(CFG)" == "release-ssh2-ssl-dll-zlib" +TARGET = $(LIB_NAME_STATIC) +LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBS) $(SSH2LIBS) $(SSL_LFLAGS) $(ZLIB_LFLAGS) $(LFLAGSSSH) /out:$(DIROBJ)\$(TARGET) +CC = $(CCNODBG) $(RTLIB) $(SSL_CFLAGS) $(ZLIB_CFLAGS) $(CFLAGSLIB) $(SSH2_CFLAGS) +CFGSET = TRUE +!ENDIF + ###################### # debug !IF "$(CFG)" == "debug" TARGET = $(LIB_NAME_DEBUG).lib -DIROBJ = $(CFG) LNK = $(LNKLIB) /out:$(DIROBJ)\$(TARGET) CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSLIB) CFGSET = TRUE @@ -278,10 +256,9 @@ CFGSET = TRUE !IF "$(CFG)" == "debug-ssl" TARGET = $(LIB_NAME_DEBUG).lib -DIROBJ = $(CFG) -LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32" -LNK = $(LNKLIB) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET) -CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSLIB) +SSL_LFLAGS = "/LIBPATH:$(OPENSSL_PATH)\out32" +LNK = $(LNKLIB) $(SSL_LFLAGS) /out:$(DIROBJ)\$(TARGET) +CC = $(CCDEBUG) $(RTLIBD) $(SSL_CFLAGS) $(CFLAGSLIB) CFGSET = TRUE !ENDIF @@ -290,10 +267,8 @@ CFGSET = TRUE !IF "$(CFG)" == "debug-zlib" TARGET = $(LIB_NAME_DEBUG).lib -DIROBJ = $(CFG) -LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)" -LNK = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) -CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB) $(CFLAGSLIB) +LNK = $(LNKLIB) $(ZLIBLIBS) $(ZLIB_LFLAGS) /out:$(DIROBJ)\$(TARGET) +CC = $(CCDEBUG) $(RTLIBD) $(ZLIB_CFLAGS) $(CFLAGSLIB) CFGSET = TRUE !ENDIF @@ -302,10 +277,9 @@ CFGSET = TRUE !IF "$(CFG)" == "debug-ssl-dll" TARGET = $(LIB_NAME_DEBUG).lib -DIROBJ = $(CFG) -LFLAGSSSL = /LIBPATH:$(OPENSSL_PATH)\out32dll -LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET) -CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSLIB) +SSL_LFLAGS = /LIBPATH:$(OPENSSL_PATH)\out32dll +LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(SSL_LFLAGS) /out:$(DIROBJ)\$(TARGET) +CC = $(CCDEBUG) $(RTLIBD) $(SSL_CFLAGS) $(CFLAGSLIB) CFGSET = TRUE !ENDIF @@ -314,11 +288,9 @@ CFGSET = TRUE !IF "$(CFG)" == "debug-ssl-zlib" TARGET = $(LIB_NAME_DEBUG).lib -DIROBJ = $(CFG) -LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)" -LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32" -LNK = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) -CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB) +SSL_LFLAGS = "/LIBPATH:$(OPENSSL_PATH)\out32" +LNK = $(LNKLIB) $(ZLIBLIBS) $(SSL_LFLAGS) $(ZLIB_LFLAGS) /out:$(DIROBJ)\$(TARGET) +CC = $(CCDEBUG) $(RTLIBD) $(SSL_CFLAGS) $(ZLIB_CFLAGS) $(CFLAGSLIB) CFGSET = TRUE !ENDIF @@ -327,10 +299,8 @@ CFGSET = TRUE !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) $(RTLIBD) $(CFLAGSZLIB) $(CFLAGSLIB) +LNK = $(LNKLIB) $(WINLIBS) $(ZLIBLIBSDLL) $(ZLIB_LFLAGS) /out:$(DIROBJ)\$(TARGET) +CC = $(CCDEBUG) $(RTLIBD) $(ZLIB_CFLAGS) $(CFLAGSLIB) CFGSET = TRUE !ENDIF @@ -339,11 +309,9 @@ CFGSET = TRUE !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) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB) +SSL_LFLAGS = "/LIBPATH:$(OPENSSL_PATH)\out32dll" +LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(SSL_LFLAGS) $(ZLIB_LFLAGS) /out:$(DIROBJ)\$(TARGET) +CC = $(CCDEBUG) $(RTLIBD) $(SSL_CFLAGS) $(ZLIB_CFLAGS) $(CFLAGSLIB) CFGSET = TRUE !ENDIF @@ -352,8 +320,7 @@ CFGSET = TRUE !IF "$(CFG)" == "debug-dll" TARGET = $(LIB_NAME_DEBUG).dll -DIROBJ = $(CFG) -LNK = $(LNKDLL) $(WINLIBS) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb +LNK = $(LNKDLL) $(WINLIBS) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIB_NAME_IMP_DEBUG).lib /PDB:$(DIROBJ)\$(LIB_NAME_IMP_DEBUG).pdb CC = $(CCDEBUG) $(RTLIBD) CFGSET = TRUE RESOURCE = $(DIROBJ)\libcurl.res @@ -364,10 +331,9 @@ RESOURCE = $(DIROBJ)\libcurl.res !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)\$(IMPLIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb -CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) +SSL_LFLAGS = "/LIBPATH:$(OPENSSL_PATH)\out32dll" +LNK = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(SSL_LFLAGS) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIB_NAME_IMP_DEBUG).lib /PDB:$(DIROBJ)\$(LIB_NAME_IMP_DEBUG).pdb +CC = $(CCDEBUG) $(RTLIBD) $(SSL_CFLAGS) CFGSET = TRUE RESOURCE = $(DIROBJ)\libcurl.res !ENDIF @@ -377,10 +343,8 @@ RESOURCE = $(DIROBJ)\libcurl.res !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)\$(IMPLIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb -CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB) +LNK = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(ZLIB_LFLAGS) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIB_NAME_IMP_DEBUG).lib /PDB:$(DIROBJ)\$(LIB_NAME_IMP_DEBUG).pdb +CC = $(CCDEBUG) $(RTLIBD) $(ZLIB_CFLAGS) CFGSET = TRUE RESOURCE = $(DIROBJ)\libcurl.res !ENDIF @@ -390,11 +354,9 @@ RESOURCE = $(DIROBJ)\libcurl.res !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)\$(IMPLIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb -CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB) +SSL_LFLAGS = "/LIBPATH:$(OPENSSL_PATH)\out32dll" +LNK = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(SSL_LFLAGS) $(ZLIB_LFLAGS) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIB_NAME_IMP_DEBUG).lib /PDB:$(DIROBJ)\$(LIB_NAME_IMP_DEBUG).pdb +CC = $(CCDEBUG) $(RTLIBD) $(SSL_CFLAGS) $(ZLIB_CFLAGS) CFGSET = TRUE RESOURCE = $(DIROBJ)\libcurl.res !ENDIF @@ -402,7 +364,7 @@ RESOURCE = $(DIROBJ)\libcurl.res ####################### # Usage # -!IF "$(CFGSET)" == "FALSE" && "$(CFG)" != "" +!IF ("$(CFGSET)" == "FALSE" && "$(CFG)" != "") || "$(CFG)"== "" !MESSAGE Usage: nmake /f makefile.vc6 CFG= !MESSAGE where is one of: !MESSAGE release - release static library @@ -416,6 +378,7 @@ RESOURCE = $(DIROBJ)\libcurl.res !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 release-ssh2-ssl-dll-zlib - release static library with dynamic ssl, static zlib and static ssh2 !MESSAGE debug - debug static library !MESSAGE debug-ssl - debug static library with ssl !MESSAGE debug-zlib - debug static library with zlib @@ -498,7 +461,7 @@ X_OBJS= \ $(DIROBJ)\mprintf.obj \ $(DIROBJ)\multi.obj \ $(DIROBJ)\netrc.obj \ - $(DIROBJ)\nonblock.obj \ + $(DIROBJ)\nonblock.obj \ $(DIROBJ)\openldap.obj \ $(DIROBJ)\parsedate.obj \ $(DIROBJ)\pingpong.obj \ @@ -538,20 +501,25 @@ 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_DEBUG).lib . /y - -xcopy $(DIROBJ)\*.exp . /y - -xcopy $(DIROBJ)\*.pdb . /y + @echo Copying libs... + @-copy $(DIROBJ)\$(LIB_NAME).dll $(DIRDIST)\ /y >nul 2<&1 + @-copy $(DIROBJ)\$(LIB_NAME_STATIC) $(DIRDIST)\ /y >nul 2<&1 + @-copy $(DIROBJ)\$(LIB_NAME_DEBUG).dll $(DIRDIST)\ /y >nul 2<&1 + @-copy $(DIROBJ)\$(LIB_NAME_DEBUG).lib $(DIRDIST)\ /y >nul 2<&1 + @-copy $(DIROBJ)\$(LIB_NAME_IMP).lib $(DIRDIST)\ /y >nul 2<&1 + @-copy $(DIROBJ)\$(LIB_NAME_IMP_DEBUG).lib $(DIRDIST)\ /y >nul 2<&1 + @-copy $(DIROBJ)\*.exp $(DIRDIST)\ /y >nul 2<&1 + @-copy $(DIROBJ)\*.pdb $(DIRDIST)\ /y >nul 2<&1 -$(X_OBJS): $(DIROBJ) +$(X_OBJS): $(DIROBJ) $(DIRDIST) + +$(DIRDIST): + @if not exist "$(DIRDIST)" mkdir $(DIRDIST) $(DIROBJ): @if not exist "$(DIROBJ)" mkdir $(DIROBJ) + .SUFFIXES: .c .obj .res {.\}.c{$(DIROBJ)\}.obj: diff --git a/lib/ssh.c b/lib/ssh.c index ffcb48b..0567256 100644 --- a/lib/ssh.c +++ b/lib/ssh.c @@ -25,6 +25,7 @@ #include "setup.h" #ifdef USE_LIBSSH2 + #include #include #include diff --git a/src/Makefile.vc6 b/src/Makefile.vc6 index da7a2a3..886241e 100644 --- a/src/Makefile.vc6 +++ b/src/Makefile.vc6 @@ -14,37 +14,10 @@ PROGRAM_NAME = curl.exe -!IFNDEF OPENSSL_PATH -OPENSSL_PATH = ../../openssl-0.9.8o -!ENDIF - -!IFNDEF ZLIB_PATH -ZLIB_PATH = ../../zlib-1.2.5 -!ENDIF - -!IFNDEF MACHINE -MACHINE = X86 -!ENDIF +!include "../Makefile.inc.vc" -# USE_WINDOWS_SSPI uses windows libraries to allow NTLM authentication -# without an openssl installation and offers the ability to authenticate -# using the "current logged in user". Since at least with MSVC6 the sspi.h -# header is broken it is either required to install the Windows SDK, -# or to fix sspi.h with adding this define at the beginning of sspi.h: -# #define FreeCredentialHandle FreeCredentialsHandle -# -# If, for some reason the Windows SDK is installed but not installed -# in the default location, you can specify WINDOWS_SDK_PATH. -# It can be downloaded from: -# http://www.microsoft.com/msdownload/platformsdk/sdkupdate/ - -# WINDOWS_SSPI = 1 - -!IFDEF WINDOWS_SSPI -!IFNDEF WINDOWS_SDK_PATH -WINDOWS_SDK_PATH = "C:\Program Files\Microsoft SDK" -!ENDIF -!ENDIF +DIROBJ = ..\builds\curl-$(CFG)-obj +DIRDIST = ..\builds\curl-$(CFG)\ ######################################################## ## Nothing more to do below this line! @@ -58,81 +31,65 @@ SSL_LFLAGS = /LIBPATH:"$(OPENSSL_PATH)/out32" SSL_IMP_LFLAGS = /LIBPATH:"$(OPENSSL_PATH)/out32dll" SSL_LIBS = libeay32.lib ssleay32.lib gdi32.lib user32.lib advapi32.lib -# Runtime library configuration -RTLIB = /MD -RTLIBD = /MDd - -!IF "$(RTLIBCFG)" == "static" -RTLIB = /MT -RTLIBD = /MTd -!ENDIF +LIBCURL_PATH=..\builds\lib-$(CFG) ## Release CCR = cl.exe $(RTLIB) /O2 /DNDEBUG -LINKR = link.exe /incremental:no /libpath:"../lib" +LINKR = link.exe /incremental:no /libpath:"$(LIBCURL_PATH)" RCR = rc.exe /dDEBUGBUILD=0 ## Debug CCD = cl.exe $(RTLIBD) /Gm /ZI /Od /D_DEBUG /GZ -LINKD = link.exe /incremental:yes /debug /libpath:"../lib" +LINKD = link.exe /incremental:yes /debug /libpath:"$(LIBCURL_PATH)" RCD = rc.exe /dDEBUGBUILD=1 CFLAGS = /I../lib /I../include /nologo /W3 /GX /DWIN32 /YX /FD /c -LFLAGS = /nologo /out:$(PROGRAM_NAME) /subsystem:console /machine:$(MACHINE) +LFLAGS = /nologo /out:$(DIRDIST)\$(PROGRAM_NAME) /subsystem:console /machine:$(MACHINE) RESFLAGS = /i../include # This manifest thing is for VC8, enabled by the maketgz script that # builds the VC8 version of this makefile. Left commented out in the VC6 # version! -#MANIFESTTOOL = mt -manifest $(PROGRAM_NAME).manifest -outputresource:$(PROGRAM_NAME);1 +!IFDEF EMBEND_MANIFEST +MANIFESTTOOL = mt -manifest $(DIRDIST)\$(PROGRAM_NAME).manifest -outputresource:$(DIRDIST)\$(PROGRAM_NAME);1 +!ENDIF !IFDEF WINDOWS_SSPI -CFLAGS = $(CFLAGS) /DUSE_WINDOWS_SSPI /I$(WINDOWS_SDK_PATH)\include +CFLAGS = $(CFLAGS) /DUSE_WINDOWS_SSPI +!ENDIF + +!IFDEF WINDOWS_SDK_PATH +CFLAGS = $(CFLAGS) /I$(WINDOWS_SDK_PATH)\include !ENDIF -RELEASE_OBJS= \ - curlutilr.obj \ - getpassr.obj \ - homedirr.obj \ - hugehelpr.obj \ - mainr.obj \ - nonblockr.obj \ - os-specificr.obj \ - rawstrr.obj \ - strtoofftr.obj \ - urlglobr.obj \ - writeoutr.obj \ - xattrr.obj \ - curlr.res - -DEBUG_OBJS= \ - curlutild.obj \ - getpassd.obj \ - homedird.obj \ - hugehelpd.obj \ - maind.obj \ - nonblockd.obj \ - os-specificd.obj \ - rawstrd.obj \ - strtoofftd.obj \ - urlglobd.obj \ - writeoutd.obj \ - xattrd.obj \ - curld.res +OBJS= \ + $(DIROBJ)\curlutil.obj \ + $(DIROBJ)\getpass.obj \ + $(DIROBJ)\homedir.obj \ + $(DIROBJ)\hugehelp.obj \ + $(DIROBJ)\main.obj \ + $(DIROBJ)\nonblock.obj \ + $(DIROBJ)\os-specific.obj \ + $(DIROBJ)\rawstr.obj \ + $(DIROBJ)\strtoofft.obj \ + $(DIROBJ)\urlglob.obj \ + $(DIROBJ)\writeout.obj \ + $(DIROBJ)\xattr.obj \ + $(DIROBJ)\curl.res ################################################# # If CFG not specified, use static libs CFLAGS = $(CFLAGS) /DCURL_STATICLIB -LINKLIBS = libcurl.lib -LINKLIBS_DEBUG = libcurld.lib +LINKLIBS = $(LIB_NAME_STATIC) +LINKLIBS_DEBUG = $(LIB_NAME_STATIC_DEBUG) ################################################# # release dynamic library !IF "$(CFG)" == "release-dll" -LINKLIBS = libcurl_imp.lib -LINKLIBS_DEBUG = libcurld_imp.lib +LINKLIBS = $(LIB_NAME_IMP) +LINKLIBS_DEBUG = $(LIB_NAME_IMP_DEBUG) !ENDIF ################################################# @@ -140,8 +97,8 @@ LINKLIBS_DEBUG = libcurld_imp.lib !IF "$(CFG)" == "release-zlib" CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB -LINKLIBS = libcurl.lib $(ZLIB_LIBS) -LINKLIBS_DEBUG = libcurld.lib $(ZLIB_LIBS) +LINKLIBS = $(LIB_NAME_STATIC) $(ZLIB_LIBS) +LINKLIBS_DEBUG = $(LIB_NAME_STATIC_DEBUG) $(ZLIB_LIBS) LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS) !ENDIF @@ -150,8 +107,8 @@ LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS) !IF "$(CFG)" == "release-ssl" CFLAGS = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB -LINKLIBS = libcurl.lib $(SSL_LIBS) -LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS) +LINKLIBS = $(LIB_NAME_STATIC) $(SSL_LIBS) +LINKLIBS_DEBUG = $(LIB_NAME_STATIC_DEBUG) $(SSL_LIBS) LFLAGS = $(LFLAGS) $(SSL_LFLAGS) !ENDIF @@ -160,8 +117,8 @@ LFLAGS = $(LFLAGS) $(SSL_LFLAGS) !IF "$(CFG)" == "release-dll-ssl-dll" CFLAGS = $(CFLAGS) $(SSL_CFLAGS) -LINKLIBS = libcurl_imp.lib $(SSL_LIBS) -LINKLIBS_DEBUG = libcurld_imp.lib $(SSL_LIBS) +LINKLIBS = $(LIB_NAME_IMP) $(SSL_LIBS) +LINKLIBS_DEBUG = $(LIB_NAME_IMP_DEBUG) $(SSL_LIBS) LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) !ENDIF @@ -170,8 +127,8 @@ LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) !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) +LINKLIBS = $(LIB_NAME_STATIC) $(SSL_LIBS) $(ZLIB_LIBS) +LINKLIBS_DEBUG = $(LIB_NAME_STATIC_DEBUG) $(SSL_LIBS) $(ZLIB_LIBS) LFLAGS = $(LFLAGS) $(SSL_LFLAGS) $(ZLIB_LFLAGS) !ENDIF @@ -180,8 +137,8 @@ LFLAGS = $(LFLAGS) $(SSL_LFLAGS) $(ZLIB_LFLAGS) !IF "$(CFG)" == "release-ssl-dll" CFLAGS = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB -LINKLIBS = libcurl.lib $(SSL_LIBS) -LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS) +LINKLIBS = $(LIB_NAME_STATIC) $(SSL_LIBS) +LINKLIBS_DEBUG = $(LIB_NAME_STATIC_DEBUG) $(SSL_LIBS) LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) !ENDIF @@ -190,8 +147,8 @@ LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) !IF "$(CFG)" == "release-zlib-dll" CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB -LINKLIBS = libcurl.lib $(ZLIB_IMP_LIBS) -LINKLIBS_DEBUG = libcurld.lib $(ZLIB_IMP_LIBS) +LINKLIBS = $(LIB_NAME_STATIC) $(ZLIB_IMP_LIBS) +LINKLIBS_DEBUG = $(LIB_NAME_STATIC_DEBUG) $(ZLIB_IMP_LIBS) LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS) !ENDIF @@ -200,8 +157,8 @@ LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS) !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) +LINKLIBS = $(LIB_NAME_IMP) $(ZLIB_IMP_LIBS) +LINKLIBS_DEBUG = $(LIB_NAME_IMP_DEBUG) $(ZLIB_IMP_LIBS) LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS) !ENDIF @@ -210,8 +167,8 @@ LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS) !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) +LINKLIBS = $(LIB_NAME_STATIC) $(SSL_LIBS) $(ZLIB_IMP_LIBS) +LINKLIBS_DEBUG = $(LIB_NAME_STATIC_DEBUG) $(SSL_LIBS) $(ZLIB_IMP_LIBS) LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS) !ENDIF @@ -220,86 +177,65 @@ LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS) !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) +LINKLIBS = $(LIB_NAME_IMP) $(SSL_LIBS) $(ZLIB_IMP_LIBS) +LINKLIBS_DEBUG = $(LIB_NAME_IMP_DEBUG) $(SSL_LIBS) $(ZLIB_IMP_LIBS) LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS) !ENDIF - LINKLIBS = $(LINKLIBS) ws2_32.lib wldap32.lib LINKLIBS_DEBUG = $(LINKLIBS_DEBUG) ws2_32.lib wldap32.lib all : release -release: $(RELEASE_OBJS) - $(LINKR) $(LFLAGS) $(LINKLIBS) $(RELEASE_OBJS) +release: $(DIRDIST) $(DIROBJ) $(OBJS) + $(LINKR) $(LFLAGS) $(LINKLIBS) $(OBJS) $(MANIFESTTOOL) -debug: $(DEBUG_OBJS) - $(LINKD) $(LFLAGS) $(LINKLIBS_DEBUG) $(DEBUG_OBJS) +debug: $(DIRDIST) $(DIROBJ) $(OBJS) + $(LINKD) $(LFLAGS) $(LINKLIBS_DEBUG) $(OBJS) $(MANIFESTTOOL) -## Release -hugehelpr.obj: hugehelp.c +$(DIROBJ)\hugehelp.obj: hugehelp.c $(CCR) $(CFLAGS) /Zm200 /Fo"$@" hugehelp.c -writeoutr.obj: writeout.c +$(DIROBJ)\writeout.obj: writeout.c $(CCR) $(CFLAGS) /Fo"$@" writeout.c -urlglobr.obj: urlglob.c +$(DIROBJ)\urlglob.obj: urlglob.c $(CCR) $(CFLAGS) /Fo"$@" urlglob.c -getpassr.obj: getpass.c +$(DIROBJ)\getpass.obj: getpass.c $(CCR) $(CFLAGS) /Fo"$@" getpass.c -homedirr.obj: homedir.c +$(DIROBJ)\homedir.obj: homedir.c $(CCR) $(CFLAGS) /Fo"$@" homedir.c -curlutilr.obj: curlutil.c +$(DIROBJ)\curlutil.obj: curlutil.c $(CCR) $(CFLAGS) /Fo"$@" curlutil.c -os-specificr.obj: os-specific.c +$(DIROBJ)\os-specific.obj: os-specific.c $(CCR) $(CFLAGS) /Fo"$@" os-specific.c -nonblockr.obj: ../lib/nonblock.c +$(DIROBJ)\nonblock.obj: ../lib/nonblock.c $(CCR) $(CFLAGS) /Fo"$@" ../lib/nonblock.c -rawstrr.obj: ../lib/rawstr.c +$(DIROBJ)\rawstr.obj: ../lib/rawstr.c $(CCR) $(CFLAGS) /Fo"$@" ../lib/rawstr.c -strtoofftr.obj: ../lib/strtoofft.c +$(DIROBJ)\strtoofft.obj: ../lib/strtoofft.c $(CCR) $(CFLAGS) /Fo"$@" ../lib/strtoofft.c -xattrr.obj: xattr.c +$(DIROBJ)\xattr.obj: xattr.c $(CCR) $(CFLAGS) /Fo"$@" xattr.c -mainr.obj: main.c +$(DIROBJ)\main.obj: main.c $(CCR) $(CFLAGS) /Fo"$@" main.c -curlr.res : curl.rc +$(DIROBJ)\curl.res : curl.rc $(RCR) $(RESFLAGS) /Fo"$@" curl.rc -## Debug -hugehelpd.obj: hugehelp.c - $(CCD) $(CFLAGS) /Zm200 /Fo"$@" hugehelp.c -writeoutd.obj: writeout.c - $(CCD) $(CFLAGS) /Fo"$@" writeout.c -urlglobd.obj: urlglob.c - $(CCD) $(CFLAGS) /Fo"$@" urlglob.c -getpassd.obj: getpass.c - $(CCD) $(CFLAGS) /Fo"$@" getpass.c -homedird.obj: homedir.c - $(CCD) $(CFLAGS) /Fo"$@" homedir.c -curlutild.obj: curlutil.c - $(CCD) $(CFLAGS) /Fo"$@" curlutil.c -os-specificd.obj: os-specific.c - $(CCD) $(CFLAGS) /Fo"$@" os-specific.c -nonblockd.obj: ../lib/nonblock.c - $(CCD) $(CFLAGS) /Fo"$@" ../lib/nonblock.c -rawstrd.obj: ../lib/rawstr.c - $(CCD) $(CFLAGS) /Fo"$@" ../lib/rawstr.c -strtoofftd.obj: ../lib/strtoofft.c - $(CCD) $(CFLAGS) /Fo"$@" ../lib/strtoofft.c -xattrd.obj: xattr.c - $(CCD) $(CFLAGS) /Fo"$@" xattr.c -maind.obj: main.c - $(CCD) $(CFLAGS) /Fo"$@" main.c -curld.res : curl.rc - $(RCD) $(RESFLAGS) /Fo"$@" curl.rc +$(DIRDIST): + @if not exist "$(DIRDIST)" mkdir $(DIRDIST) + +$(DIROBJ): + @if not exist "$(DIROBJ)" mkdir $(DIROBJ) clean: - @-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 +!IF "$(CFG)" != "" + @-erase /q $(DIROBJ)\* >nul 2<&1 + @-erase /q $(DIRDIST)\* >nul 2<&1 +!ELSE + @for /d %a IN (..\builds\*) do @erase /S /Q %a +!ENDIF + @-erase /q *.idb 2> NUL + @-erase /q *.pdb 2> NUL + @-erase /q *.pch 2> NUL + @-erase /q *.ilk 2> NUL