--- Makefile.vc6.orig	2003-05-21 09:47:57.000000000 -0700
+++ Makefile.vc6	2003-05-21 12:31:32.000000000 -0700
@@ -13,45 +13,59 @@
 
 PROGRAM_NAME = curl.exe
 
+!IF "$(CFG)" == ""
+CFG=release
+!MESSAGE No configuration specified. Defaulting to release.
+!ENDIF 
+
+!IF "$(CFG)" != "release" && "$(CFG)" != "debug" && "$(CFG)" != "release-ssl"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "Makefile.vc6" CFG="debug"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "release"
+!MESSAGE "debug"
+!MESSAGE "release-ssl"
+!MESSAGE "debug-ssl"
+!MESSAGE
+!MESSAGE nmake -f makefile.vc6 CFG=release-ssl" statically links OpenSSL
+!MESSAGE into curl.exe producing a standalone SSL-enabled executable.
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF 
+
 ########################################################
 ## Nothing more to do below this line!
 
-## Release
-CCR = cl.exe /MD /O2 /D "NDEBUG"
-LINKR = link.exe /incremental:no /libpath:"../lib"
-
-## Debug
-CCD = cl.exe /MDd /Gm /ZI /Od /D "_DEBUG" /GZ
-LINKD = link.exe /incremental:yes /debug /libpath:"../lib"
-
-CFLAGS = /I "../include" /nologo /W3 /GX /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-LFLAGS = /nologo /out:$(PROGRAM_NAME) /subsystem:console /machine:I386
+!IF  "$(CFG)" == "release" || "$(CFG)" == "release-ssl"
+OUTDIR=.\Release
+CC = cl.exe /MD /O2 /D "NDEBUG"
+LINK = link.exe /incremental:no /libpath:"../lib"
 LINKLIBS = ws2_32.lib libcurl.lib winmm.lib
-LINKLIBS_DEBUG = ws2_32.lib libcurld.lib winmm.lib
+!ELSE
+OUTDIR=.\Debug
+CC = cl.exe /MDd /Gm /ZI /Od /D "_DEBUG" /GZ
+LINK = link.exe /incremental:yes /debug /libpath:"../lib"
+LINKLIBS = ws2_32.lib libcurld.lib winmm.lib
+!ENDIF
+
+CFLAGS = /I "../include" /nologo /W3 /GX /D "WIN32" /D "_CONSOLE" /D "_MBCS" /Fp"$(OUTDIR)\\" /YX /Fd"$(OUTDIR)\\" /FD /c
+LFLAGS = /nologo /out:"$(OUTDIR)"\$(PROGRAM_NAME) /subsystem:console /machine:I386
 
-RELEASE_OBJS= \
-	hugehelpr.obj \
-	writeoutr.obj \
-	urlglobr.obj \
-	mainr.obj
-
-DEBUG_OBJS= \
-	hugehelpd.obj \
-	writeoutd.obj \
-	urlglobd.obj \
-	maind.obj
-	
 LINK_OBJS= \
-	hugehelp.obj \
-	writeout.obj \
-	urlglob.obj \
-	main.obj
+ 	$(OUTDIR)\hugehelp.obj \
+	$(OUTDIR)\writeout.obj \
+	$(OUTDIR)\urlglob.obj \
+	$(OUTDIR)\main.obj
 
- 
 ######################
-# release-ssl
+# ssl
  
-!IF "$(CFG)" == "release-ssl"
+!IF "$(CFG)" == "release-ssl" || "$(CFG)" == "debug-ssl"
 !IFNDEF OPENSSL_PATH
 OPENSSL_PATH   = ../../openssl-0.9.6
 !ENDIF
@@ -60,44 +74,29 @@
 LINKLIBS  = $(LINKLIBS) $(SSLLIBS)
 LFLAGS = $(LFLAGS) $(LFLAGSSSL)
 !ENDIF
- 
-all : release
 
-release: $(RELEASE_OBJS)
-	$(LINKR) $(LFLAGS) $(LINKLIBS) $(LINK_OBJS)
+all : $(OUTDIR) $(OUTDIR)\$(PROGRAM_NAME)
 
-debug: $(DEBUG_OBJS)
-	$(LINKD) $(LFLAGS) $(LINKLIBS_DEBUG) $(LINK_OBJS)
+$(OUTDIR) :
+    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
-## Release
-hugehelpr.obj: hugehelp.c
-	$(CCR) $(CFLAGS) /Zm200 hugehelp.c
-writeoutr.obj: writeout.c
-	$(CCR) $(CFLAGS) writeout.c
-urlglobr.obj: urlglob.c
-	$(CCR) $(CFLAGS) urlglob.c
-mainr.obj: main.c
-	$(CCR) $(CFLAGS) main.c
-
-## Debug
-hugehelpd.obj: hugehelp.c
-	$(CCD) $(CFLAGS) /Zm200 hugehelp.c
-writeoutd.obj: writeout.c
-	$(CCD) $(CFLAGS) writeout.c
-urlglobd.obj: urlglob.c
-	$(CCD) $(CFLAGS) urlglob.c
-maind.obj: main.c
-	$(CCD) $(CFLAGS) main.c
+$(OUTDIR)\$(PROGRAM_NAME) : $(LINK_OBJS)
+	$(LINK) $(LFLAGS) $(LINKLIBS) $(LINK_OBJS)
+
+$(OUTDIR)\hugehelp.obj: hugehelp.c
+	$(CC) $(CFLAGS) /Zm200 /Fo"$(OUTDIR)\\" %s
+$(OUTDIR)\writeout.obj: writeout.c
+	$(CC) $(CFLAGS) /Fo"$(OUTDIR)\\" %s
+$(OUTDIR)\urlglob.obj: urlglob.c
+	$(CC) $(CFLAGS) /Fo"$(OUTDIR)\\" %s
+$(OUTDIR)\main.obj: main.c
+	$(CC) $(CFLAGS) /Fo"$(OUTDIR)\\" %s
 
 clean:
-	-@erase hugehelp.obj
-	-@erase main.obj
-	-@erase vc60.idb
-	-@erase vc60.pdb
-	-@erase vc60.pch
-	-@erase curl.ilk
-	-@erase curl.pdb
+	-@erase /F /Q $(OUTDIR)\$(PROGRAM_NAME)
+	-@erase /F /Q $(OUTDIR)\vc60.idb
+	-@erase /F /Q $(OUTDIR)\vc60.pch
+	-@erase /F /Q $(OUTDIR)\vc60.pdb
+	-@erase /F /Q $(LINK_OBJS)
 
 distrib: clean
-	-@erase $(PROGRAM_NAME)
-

