Base code merged to SPIN 2.4
[platform/upstream/curl.git] / src / Makefile.vc6
index 67570d7..c8693af 100644 (file)
-########################################################\r
+#***************************************************************************\r
+#                                  _   _ ____  _\r
+#  Project                     ___| | | |  _ \| |\r
+#                             / __| | | | |_) | |\r
+#                            | (__| |_| |  _ <| |___\r
+#                             \___|\___/|_| \_\_____|\r
+#\r
+# Copyright (C) 1999 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.\r
+#\r
+# This software is licensed as described in the file COPYING, which\r
+# you should have received as part of this distribution. The terms\r
+# are also available at http://curl.haxx.se/docs/copyright.html.\r
+#\r
+# You may opt to use, copy, modify, merge, publish, distribute and/or sell\r
+# copies of the Software, and permit persons to whom the Software is\r
+# furnished to do so, under the terms of the COPYING file.\r
+#\r
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY\r
+# KIND, either express or implied.\r
+#\r
+#***************************************************************************\r
+\r
+# All files in the Makefile.vc* series are generated automatically from the\r
+# one made for MSVC version 6. Alas, if you want to do changes to any of the\r
+# files and send back to the project, edit the version six, make your diff and\r
+# mail curl-users.\r
+\r
+#############################################################\r
+#\r
 ## Makefile for building curl.exe with MSVC6\r
 ## Use: nmake -f makefile.vc6 [release | debug] [CFG=release-ssl]\r
 ##      (default is release)\r
 ## "nmake -f makefile.vc6 CFG=release-ssl" statically links OpenSSL\r
 ## into curl.exe producing a standalone SSL-enabled executable.\r
 ##\r
-## Comments to: Troy Engel <tengel@sonic.net>\r
-## Updated by: Craig Davison <cd@securityfocus.com>\r
-## release-ssl added by Miklos Nemeth <mnemeth@kfkisystems.com>\r
-## winmm.lib added by Miklos Nemeth <mnemeth@kfkisystems.com> to support\r
-## timeGetTime() in timeval.c\r
+#\r
+#############################################################\r
 \r
 PROGRAM_NAME = curl.exe\r
 \r
-!IFNDEF ZLIB_PATH\r
-ZLIB_PATH = ../../zlib-1.1.4\r
+# -------------------------------------------\r
+# Verify that current subdir is curl's 'src'\r
+# -------------------------------------------\r
+\r
+!IF ! EXIST(.\tool_main.c)\r
+!  MESSAGE Can not process this makefile from outside of curl's 'src' subdirectory.\r
+!  MESSAGE Change to curl's 'src' subdirectory, and try again.\r
+!  ERROR   See previous message.\r
 !ENDIF\r
 \r
+# ------------------------------------------------\r
+# Makefile.msvc.names provides libcurl file names\r
+# ------------------------------------------------\r
+\r
+!INCLUDE ..\winbuild\Makefile.msvc.names\r
+\r
+\r
 !IFNDEF OPENSSL_PATH\r
-OPENSSL_PATH = ../../openssl-0.9.9d\r
+OPENSSL_PATH = ../../openssl-0.9.8zc\r
+!ENDIF\r
+\r
+!IFNDEF ZLIB_PATH\r
+ZLIB_PATH = ../../zlib-1.2.8\r
+!ENDIF\r
+\r
+!IFNDEF MACHINE\r
+MACHINE  = X86\r
+!ENDIF\r
+\r
+# USE_WINDOWS_SSPI uses windows libraries to allow NTLM authentication\r
+# without an openssl installation and offers the ability to authenticate\r
+# using the "current logged in user". Since at least with MSVC6 the sspi.h\r
+# header is broken it is either required to install the Windows SDK,\r
+# or to fix sspi.h with adding this define at the beginning of sspi.h:\r
+# #define FreeCredentialHandle FreeCredentialsHandle\r
+#\r
+# If, for some reason the Windows SDK is installed but not installed\r
+# in the default location, you can specify WINDOWS_SDK_PATH.\r
+# It can be downloaded from:\r
+# http://www.microsoft.com/msdownload/platformsdk/sdkupdate/\r
+\r
+# WINDOWS_SSPI = 1\r
+\r
+!IFDEF WINDOWS_SSPI\r
+!IFNDEF WINDOWS_SDK_PATH\r
+WINDOWS_SDK_PATH = "$(PROGRAMFILES)\Microsoft SDK"\r
+!ENDIF\r
 !ENDIF\r
 \r
 ########################################################\r
 ## Nothing more to do below this line!\r
 \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 user32.lib\r
+WINLIBS        = ws2_32.lib wldap32.lib advapi32.lib\r
+\r
+WINSSL_CFLAGS  = /DUSE_SCHANNEL\r
+#WINSSL_LIBS    = gdi32.lib user32.lib\r
+\r
+!IFDEF USE_IDN\r
+WINLIBS        = $(WINLIBS) normaliz.lib\r
+!ENDIF\r
+\r
+# Runtime library configuration\r
+RTLIB   = /MD\r
+RTLIBD  = /MDd\r
+\r
+!IF "$(RTLIBCFG)" == "static"\r
+RTLIB  = /MT\r
+RTLIBD = /MTd\r
+!ENDIF\r
+\r
 ## Release\r
-CCR = cl.exe /MD /O2 /D "NDEBUG"\r
+CCR   = cl.exe $(RTLIB) /O2 /DNDEBUG\r
 LINKR = link.exe /incremental:no /libpath:"../lib"\r
-RCR = rc.exe /dCURLDEBUG=0\r
+RCR   = rc.exe /dDEBUGBUILD=0\r
 \r
 ## Debug\r
-CCD = cl.exe /MDd /Gm /ZI /Od /D "_DEBUG" /GZ\r
+CCD   = cl.exe $(RTLIBD) /Gm /ZI /Od /D_DEBUG /GZ\r
 LINKD = link.exe /incremental:yes /debug /libpath:"../lib"\r
-RCD = rc.exe /dCURLDEBUG=1\r
+RCD   = rc.exe /dDEBUGBUILD=1\r
 \r
-CFLAGS = /I "../lib" /I "../include" /I "$(ZLIB_PATH)" /nologo /W3 /GX /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
-LFLAGS = /nologo /libpath:"$(ZLIB_PATH)" /out:$(PROGRAM_NAME) /subsystem:console /machine:I386\r
-RESFLAGS = /i "../include"\r
-LINKLIBS = wsock32.lib libcurl.lib winmm.lib zlib.lib\r
-LINKLIBS_DEBUG = wsock32.lib libcurld.lib winmm.lib zlib.lib\r
+CFLAGS   = /I../lib /I../include /nologo /W3 /GX /DWIN32 /YX /FD /c /D_BIND_TO_CURRENT_VCLIBS_VERSION=1\r
+LFLAGS   = /nologo /out:$(PROGRAM_NAME) /subsystem:console /machine:$(MACHINE)\r
+RESFLAGS = /i../include\r
+\r
+# This manifest thing is for VC8, enabled by the maketgz script that\r
+# builds the VC8 version of this makefile. Left commented out in the VC6\r
+# version!\r
+#MANIFESTTOOL = mt -manifest $(PROGRAM_NAME).manifest -outputresource:$(PROGRAM_NAME);1\r
+\r
+!IFDEF WINDOWS_SSPI\r
+CFLAGS = $(CFLAGS) /DUSE_WINDOWS_SSPI /I$(WINDOWS_SDK_PATH)\include\r
+!ENDIF\r
 \r
 RELEASE_OBJS= \\r
-       hugehelpr.obj \\r
-       writeoutr.obj \\r
-       urlglobr.obj \\r
-       getpassr.obj \\r
-       homedirr.obj \\r
-       timevalr.obj \\r
+       nonblockr.obj \\r
+       rawstrr.obj \\r
        strtoofftr.obj \\r
-       mainr.obj \\r
+       warnless.obj \\r
+       tool_binmoder.obj \\r
+       tool_bnamer.obj \\r
+       tool_cb_dbgr.obj \\r
+       tool_cb_hdrr.obj \\r
+       tool_cb_prgr.obj \\r
+       tool_cb_rear.obj \\r
+       tool_cb_seer.obj \\r
+       tool_cb_wrtr.obj \\r
+       tool_cfgabler.obj \\r
+       tool_convertr.obj \\r
+       tool_dirhier.obj \\r
+       tool_doswinr.obj \\r
+       tool_easysrcr.obj \\r
+       tool_formparser.obj \\r
+       tool_getparamr.obj \\r
+       tool_getpassr.obj \\r
+       tool_helpr.obj \\r
+       tool_helpersr.obj \\r
+       tool_homedirr.obj \\r
+       tool_hugehelpr.obj \\r
+       tool_libinfor.obj \\r
+       tool_mainr.obj \\r
+       tool_metalinkr.obj \\r
+       tool_mfilesr.obj \\r
+       tool_msgsr.obj \\r
+       tool_operater.obj \\r
+       tool_operhlpr.obj \\r
+       tool_panykeyr.obj \\r
+       tool_paramhlpr.obj \\r
+       tool_parsecfgr.obj \\r
+       tool_setoptr.obj \\r
+       tool_sleepr.obj \\r
+       tool_urlglobr.obj \\r
+       tool_utilr.obj \\r
+       tool_vmsr.obj \\r
+       tool_writeenvr.obj \\r
+       tool_writeoutr.obj \\r
+       tool_xattrr.obj \\r
        curlr.res\r
 \r
 DEBUG_OBJS= \\r
-       hugehelpd.obj \\r
-       writeoutd.obj \\r
-       urlglobd.obj \\r
-       getpassd.obj \\r
-       homedird.obj \\r
-       timevald.obj \\r
+       nonblockd.obj \\r
+       rawstrd.obj \\r
        strtoofftd.obj \\r
-       maind.obj \\r
+       warnlessd.obj \\r
+       tool_binmoded.obj \\r
+       tool_bnamed.obj \\r
+       tool_cb_dbgd.obj \\r
+       tool_cb_hdrd.obj \\r
+       tool_cb_prgd.obj \\r
+       tool_cb_read.obj \\r
+       tool_cb_seed.obj \\r
+       tool_cb_wrtd.obj \\r
+       tool_cfgabled.obj \\r
+       tool_convertd.obj \\r
+       tool_dirhied.obj \\r
+       tool_doswind.obj \\r
+       tool_easysrcd.obj \\r
+       tool_formparsed.obj \\r
+       tool_getparamd.obj \\r
+       tool_getpassd.obj \\r
+       tool_helpd.obj \\r
+       tool_helpersd.obj \\r
+       tool_homedird.obj \\r
+       tool_hugehelpd.obj \\r
+       tool_libinfod.obj \\r
+       tool_maind.obj \\r
+       tool_metalinkd.obj \\r
+       tool_mfilesd.obj \\r
+       tool_msgsd.obj \\r
+       tool_operated.obj \\r
+       tool_operhlpd.obj \\r
+       tool_panykeyd.obj \\r
+       tool_paramhlpd.obj \\r
+       tool_parsecfgd.obj \\r
+       tool_setoptd.obj \\r
+       tool_sleepd.obj \\r
+       tool_urlglobd.obj \\r
+       tool_utild.obj \\r
+       tool_vmsd.obj \\r
+       tool_writeenvd.obj \\r
+       tool_writeoutd.obj \\r
+       tool_xattrd.obj \\r
        curld.res\r
-       \r
-######################\r
-# release-ssl\r
\r
+\r
+#################################################\r
+# If CFG not specified, use static libs\r
+\r
+CFLAGS         = $(CFLAGS) /DCURL_STATICLIB\r
+LINKLIBS       = $(LIBCURL_STA_LIB_REL)\r
+LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG)\r
+\r
+#################################################\r
+# release dynamic library\r
+\r
+!IF "$(CFG)" == "release-dll"\r
+LINKLIBS       = $(LIBCURL_IMP_LIB_REL)\r
+LINKLIBS_DEBUG = $(LIBCURL_IMP_LIB_DBG)\r
+!ENDIF\r
+\r
+#################################################\r
+# release static library with zlib\r
+\r
+!IF "$(CFG)" == "release-zlib"\r
+CFLAGS         = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB\r
+LINKLIBS       = $(LIBCURL_STA_LIB_REL) $(ZLIB_LIBS)\r
+LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG) $(ZLIB_LIBS)\r
+LFLAGS         = $(LFLAGS) $(ZLIB_LFLAGS)\r
+!ENDIF\r
+\r
+#################################################\r
+# release static library with ssl\r
+\r
 !IF "$(CFG)" == "release-ssl"\r
-LFLAGSSSL = /LIBPATH:"$(OPENSSL_PATH)/out32"\r
-SSLLIBS   = libeay32.lib ssleay32.lib gdi32.lib \r
-CFLAGS = $(CFLAGS) -DUSE_SSLEAY\r
-LINKLIBS  = $(LINKLIBS) $(SSLLIBS)\r
-LINKLIBS_DEBUG  = $(LINKLIBS_DEBUG) $(SSLLIBS)\r
-LFLAGS = $(LFLAGS) $(LFLAGSSSL)\r
+CFLAGS         = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB\r
+LINKLIBS       = $(LIBCURL_STA_LIB_REL) $(SSL_LIBS)\r
+LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG) $(SSL_LIBS)\r
+LFLAGS         = $(LFLAGS) $(SSL_LFLAGS)\r
+!ENDIF\r
+\r
+#################################################\r
+# release dynamic library with dynamic ssl\r
+\r
+!IF "$(CFG)" == "release-dll-ssl-dll"\r
+CFLAGS         = $(CFLAGS) $(SSL_CFLAGS)\r
+LINKLIBS       = $(LIBCURL_IMP_LIB_REL) $(SSL_LIBS)\r
+LINKLIBS_DEBUG = $(LIBCURL_IMP_LIB_DBG) $(SSL_LIBS)\r
+LFLAGS         = $(LFLAGS) $(SSL_IMP_LFLAGS)\r
+!ENDIF\r
+\r
+#################################################\r
+# release static library with ssl and zlib\r
+\r
+!IF "$(CFG)" == "release-ssl-zlib"\r
+CFLAGS         = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB\r
+LINKLIBS       = $(LIBCURL_STA_LIB_REL) $(SSL_LIBS) $(ZLIB_LIBS)\r
+LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG) $(SSL_LIBS) $(ZLIB_LIBS)\r
+LFLAGS         = $(LFLAGS) $(SSL_LFLAGS) $(ZLIB_LFLAGS)\r
+!ENDIF\r
+\r
+#################################################\r
+# release static library with winssl and zlib\r
+\r
+!IF "$(CFG)" == "release-winssl-zlib"\r
+CFLAGS         = $(CFLAGS) $(WINSSL_CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB\r
+LINKLIBS       = $(LIBCURL_STA_LIB_REL) $(WINSSL_LIBS) $(ZLIB_LIBS)\r
+LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG) $(WINSSL_LIBS) $(ZLIB_LIBS)\r
+LFLAGS         = $(LFLAGS) $(WINSSL_LFLAGS) $(ZLIB_LFLAGS)\r
+!ENDIF\r
+\r
+#################################################\r
+# release static library with dynamic ssl\r
+\r
+!IF "$(CFG)" == "release-ssl-dll"\r
+CFLAGS         = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB\r
+LINKLIBS       = $(LIBCURL_STA_LIB_REL) $(SSL_LIBS)\r
+LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG) $(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_STA_LIB_REL) $(ZLIB_IMP_LIBS)\r
+LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG) $(ZLIB_IMP_LIBS)\r
+LFLAGS         = $(LFLAGS) $(ZLIB_LFLAGS)\r
 !ENDIF\r
 \r
-######################\r
-# release-libcurl-ssl-dll\r
+#################################################\r
+# release dynamic library with dynamic zlib\r
 \r
-!IF "$(CFG)" == "release-libcurl-ssl-dll"\r
-LFLAGSSSL = /LIBPATH:"$(OPENSSL_PATH)/out32"\r
-SSLLIBS   = libeay32.lib ssleay32.lib gdi32.lib \r
-CFLAGS = $(CFLAGS) -DUSE_SSLEAY\r
-LINKLIBS  = $(LINKLIBS) $(SSLLIBS)\r
-LINKLIBS_DEBUG  = $(LINKLIBS_DEBUG) $(SSLLIBS)\r
-LFLAGS = $(LFLAGS) $(LFLAGSSSL)\r
+!IF "$(CFG)" == "release-dll-zlib-dll"\r
+CFLAGS         = $(CFLAGS) $(ZLIB_CFLAGS)\r
+LINKLIBS       = $(LIBCURL_IMP_LIB_REL) $(ZLIB_IMP_LIBS)\r
+LINKLIBS_DEBUG = $(LIBCURL_IMP_LIB_DBG) $(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_STA_LIB_REL) $(SSL_LIBS) $(ZLIB_IMP_LIBS)\r
+LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG) $(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_REL) $(SSL_LIBS) $(ZLIB_IMP_LIBS)\r
+LINKLIBS_DEBUG = $(LIBCURL_IMP_LIB_DBG) $(SSL_LIBS) $(ZLIB_IMP_LIBS)\r
+LFLAGS         = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS)\r
+!ENDIF\r
+\r
+LINKLIBS       = $(LINKLIBS) $(WINLIBS)\r
+LINKLIBS_DEBUG = $(LINKLIBS_DEBUG) $(WINLIBS)\r
 \r
 all : release\r
 \r
 release: $(RELEASE_OBJS)\r
        $(LINKR) $(LFLAGS) $(LINKLIBS) $(RELEASE_OBJS)\r
+        $(MANIFESTTOOL)\r
 \r
 debug: $(DEBUG_OBJS)\r
        $(LINKD) $(LFLAGS) $(LINKLIBS_DEBUG) $(DEBUG_OBJS)\r
+        $(MANIFESTTOOL)\r
 \r
 ## Release\r
-hugehelpr.obj: hugehelp.c\r
-       $(CCR) $(CFLAGS) /Zm200 /Fo"$@" hugehelp.c\r
-writeoutr.obj: writeout.c\r
-       $(CCR) $(CFLAGS) /Fo"$@" writeout.c\r
-urlglobr.obj: urlglob.c\r
-       $(CCR) $(CFLAGS) /Fo"$@" urlglob.c\r
-getpassr.obj: getpass.c\r
-       $(CCR) $(CFLAGS) /Fo"$@" getpass.c\r
-homedirr.obj: homedir.c\r
-       $(CCR) $(CFLAGS) /Fo"$@" homedir.c\r
-timevalr.obj: ../lib/timeval.c\r
-       $(CCR) $(CFLAGS) /Fo"$@" ../lib/timeval.c\r
+nonblockr.obj: ../lib/nonblock.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" ../lib/nonblock.c\r
+rawstrr.obj: ../lib/rawstr.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" ../lib/rawstr.c\r
 strtoofftr.obj: ../lib/strtoofft.c\r
        $(CCR) $(CFLAGS) /Fo"$@" ../lib/strtoofft.c\r
-mainr.obj: main.c\r
-       $(CCR) $(CFLAGS) /Fo"$@" main.c\r
+warnless.obj: ../lib/warnless.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" ../lib/warnless.c\r
+tool_binmoder.obj: tool_binmode.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_binmode.c\r
+tool_bnamer.obj: tool_bname.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_bname.c\r
+tool_cb_dbgr.obj: tool_cb_dbg.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_cb_dbg.c\r
+tool_cb_hdrr.obj: tool_cb_hdr.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_cb_hdr.c\r
+tool_cb_prgr.obj: tool_cb_prg.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_cb_prg.c\r
+tool_cb_rear.obj: tool_cb_rea.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_cb_rea.c\r
+tool_cb_seer.obj: tool_cb_see.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_cb_see.c\r
+tool_cb_wrtr.obj: tool_cb_wrt.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_cb_wrt.c\r
+tool_cfgabler.obj: tool_cfgable.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_cfgable.c\r
+tool_convertr.obj: tool_convert.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_convert.c\r
+tool_dirhier.obj: tool_dirhie.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_dirhie.c\r
+tool_doswinr.obj: tool_doswin.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_doswin.c\r
+tool_easysrcr.obj: tool_easysrc.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_easysrc.c\r
+tool_formparser.obj: tool_formparse.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_formparse.c\r
+tool_getparamr.obj: tool_getparam.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_getparam.c\r
+tool_getpassr.obj: tool_getpass.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_getpass.c\r
+tool_helpr.obj: tool_help.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_help.c\r
+tool_helpersr.obj: tool_helpers.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_helpers.c\r
+tool_homedirr.obj: tool_homedir.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_homedir.c\r
+tool_hugehelpr.obj: tool_hugehelp.c\r
+       $(CCR) $(CFLAGS) /Zm200 /Fo"$@" tool_hugehelp.c\r
+tool_libinfor.obj: tool_libinfo.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_libinfo.c\r
+tool_mainr.obj: tool_main.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_main.c\r
+tool_metalinkr.obj: tool_metalink.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_metalink.c\r
+tool_mfilesr.obj: tool_mfiles.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_mfiles.c\r
+tool_msgsr.obj: tool_msgs.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_msgs.c\r
+tool_operater.obj: tool_operate.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_operate.c\r
+tool_operhlpr.obj: tool_operhlp.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_operhlp.c\r
+tool_panykeyr.obj: tool_panykey.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_panykey.c\r
+tool_paramhlpr.obj: tool_paramhlp.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_paramhlp.c\r
+tool_parsecfgr.obj: tool_parsecfg.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_parsecfg.c\r
+tool_setoptr.obj: tool_setopt.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_setopt.c\r
+tool_sleepr.obj: tool_sleep.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_sleep.c\r
+tool_urlglobr.obj: tool_urlglob.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_urlglob.c\r
+tool_utilr.obj: tool_util.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_util.c\r
+tool_vmsr.obj: tool_vms.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_vms.c\r
+tool_writeenvr.obj: tool_writeenv.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_writeenv.c\r
+tool_writeoutr.obj: tool_writeout.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_writeout.c\r
+tool_xattrr.obj: tool_xattr.c\r
+       $(CCR) $(CFLAGS) /Fo"$@" tool_xattr.c\r
 curlr.res : curl.rc\r
        $(RCR) $(RESFLAGS) /Fo"$@" curl.rc\r
 \r
 ## Debug\r
-hugehelpd.obj: hugehelp.c\r
-       $(CCD) $(CFLAGS) /Zm200 /Fo"$@" hugehelp.c\r
-writeoutd.obj: writeout.c\r
-       $(CCD) $(CFLAGS) /Fo"$@" writeout.c\r
-urlglobd.obj: urlglob.c\r
-       $(CCD) $(CFLAGS) /Fo"$@" urlglob.c\r
-getpassd.obj: getpass.c\r
-       $(CCD) $(CFLAGS) /Fo"$@" getpass.c\r
-homedird.obj: homedir.c\r
-       $(CCD) $(CFLAGS) /Fo"$@" homedir.c\r
-timevald.obj: timeval.c\r
-       $(CCR) $(CFLAGS) /Fo"$@" timeval.c\r
+nonblockd.obj: ../lib/nonblock.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" ../lib/nonblock.c\r
+rawstrd.obj: ../lib/rawstr.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" ../lib/rawstr.c\r
 strtoofftd.obj: ../lib/strtoofft.c\r
-       $(CCR) $(CFLAGS) /Fo"$@" ../lib/strtoofft.c\r
-maind.obj: main.c\r
-       $(CCD) $(CFLAGS) /Fo"$@" main.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" ../lib/strtoofft.c\r
+warnlessd.obj: ../lib/warnless.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" ../lib/warnless.c\r
+tool_binmoded.obj: tool_binmode.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_binmode.c\r
+tool_bnamed.obj: tool_bname.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_bname.c\r
+tool_cb_dbgd.obj: tool_cb_dbg.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_cb_dbg.c\r
+tool_cb_hdrd.obj: tool_cb_hdr.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_cb_hdr.c\r
+tool_cb_prgd.obj: tool_cb_prg.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_cb_prg.c\r
+tool_cb_read.obj: tool_cb_rea.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_cb_rea.c\r
+tool_cb_seed.obj: tool_cb_see.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_cb_see.c\r
+tool_cb_wrtd.obj: tool_cb_wrt.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_cb_wrt.c\r
+tool_cfgabled.obj: tool_cfgable.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_cfgable.c\r
+tool_convertd.obj: tool_convert.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_convert.c\r
+tool_dirhied.obj: tool_dirhie.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_dirhie.c\r
+tool_doswind.obj: tool_doswin.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_doswin.c\r
+tool_easysrcd.obj: tool_easysrc.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_easysrc.c\r
+tool_formparsed.obj: tool_formparse.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_formparse.c\r
+tool_getparamd.obj: tool_getparam.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_getparam.c\r
+tool_getpassd.obj: tool_getpass.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_getpass.c\r
+tool_helpd.obj: tool_help.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_help.c\r
+tool_helpersd.obj: tool_helpers.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_helpers.c\r
+tool_homedird.obj: tool_homedir.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_homedir.c\r
+tool_hugehelpd.obj: tool_hugehelp.c\r
+       $(CCD) $(CFLAGS) /Zm200 /Fo"$@" tool_hugehelp.c\r
+tool_libinfod.obj: tool_libinfo.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_libinfo.c\r
+tool_maind.obj: tool_main.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_main.c\r
+tool_metalinkd.obj: tool_metalink.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_metalink.c\r
+tool_mfilesd.obj: tool_mfiles.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_mfiles.c\r
+tool_msgsd.obj: tool_msgs.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_msgs.c\r
+tool_operated.obj: tool_operate.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_operate.c\r
+tool_operhlpd.obj: tool_operhlp.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_operhlp.c\r
+tool_panykeyd.obj: tool_panykey.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_panykey.c\r
+tool_paramhlpd.obj: tool_paramhlp.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_paramhlp.c\r
+tool_parsecfgd.obj: tool_parsecfg.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_parsecfg.c\r
+tool_setoptd.obj: tool_setopt.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_setopt.c\r
+tool_sleepd.obj: tool_sleep.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_sleep.c\r
+tool_urlglobd.obj: tool_urlglob.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_urlglob.c\r
+tool_utild.obj: tool_util.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_util.c\r
+tool_vmsd.obj: tool_vms.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_vms.c\r
+tool_writeenvd.obj: tool_writeenv.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_writeenv.c\r
+tool_writeoutd.obj: tool_writeout.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_writeout.c\r
+tool_xattrd.obj: tool_xattr.c\r
+       $(CCD) $(CFLAGS) /Fo"$@" tool_xattr.c\r
 curld.res : curl.rc\r
        $(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