Skip to content
Snippets Groups Projects
Makefile.vc6 2.43 KiB
Newer Older
  • Learn to ignore specific revisions
  • ########################################################
    ## Makefile for building curl.exe with MSVC6
    
    ## Use: nmake -f makefile.vc6 [release | debug] [CFG=release-ssl]
    
    ## "nmake -f makefile.vc6 CFG=release-ssl" statically links OpenSSL
    ## into curl.exe producing a standalone SSL-enabled executable.
    
    ##
    ## Comments to: Troy Engel <tengel@sonic.net>
    ## Updated by: Craig Davison <cd@securityfocus.com>
    
    ## release-ssl added by Miklos Nemeth <mnemeth@kfkisystems.com>
    
    
    PROGRAM_NAME = curl.exe
    
    ########################################################
    ## 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
    
    LINKLIBS = ws2_32.lib libcurl.lib
    LINKLIBS_DEBUG = ws2_32.lib libcurld.lib
    
    
    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
    
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
     
    ######################
    # release-ssl
     
    !IF "$(CFG)" == "release-ssl"
    !IFNDEF OPENSSL_PATH
    OPENSSL_PATH   = ../../openssl-0.9.6
    !ENDIF
    LFLAGSSSL = /LIBPATH:"$(OPENSSL_PATH)/out32"
    SSLLIBS   = libeay32.lib ssleay32.lib RSAglue.lib gdi32.lib 
    LINKLIBS  = $(LINKLIBS) $(SSLLIBS)
    LFLAGS = $(LFLAGS) $(LFLAGSSSL)
    !ENDIF
     
    
    all : release
    
    release: $(RELEASE_OBJS)
    	$(LINKR) $(LFLAGS) $(LINKLIBS) $(LINK_OBJS)
    
    debug: $(DEBUG_OBJS)
    	$(LINKD) $(LFLAGS) $(LINKLIBS_DEBUG) $(LINK_OBJS)
    
    ## 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
    
    clean:
    	-@erase hugehelp.obj
    	-@erase main.obj
    	-@erase vc60.idb
    	-@erase vc60.pdb
    	-@erase vc60.pch
    	-@erase curl.ilk
    	-@erase curl.pdb
    
    distrib: clean
    	-@erase $(PROGRAM_NAME)