Skip to content
Snippets Groups Projects
Makefile.vc6 7.18 KiB
Newer Older
  • Learn to ignore specific revisions
  • ########################################################
    
    Gisle Vanem's avatar
     
    Gisle Vanem committed
    # $Id: Makefile.vc6,v 1.19 2004/11/14 13:48:15 giva Exp $
    #
    
    ## 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>
    
    ## winmm.lib added by Miklos Nemeth <mnemeth@kfkisystems.com> to support
    ## timeGetTime() in timeval.c
    
    Guenter Knauf's avatar
    Guenter Knauf committed
    !IFNDEF ZLIB_PATH
    
    ZLIB_PATH = ../../zlib-1.2.1
    
    Guenter Knauf's avatar
    Guenter Knauf committed
    !ENDIF
    
    !IFNDEF OPENSSL_PATH
    
    OPENSSL_PATH = ../../openssl-0.9.7e
    
    Guenter Knauf's avatar
    Guenter Knauf committed
    !ENDIF
    
    
    ########################################################
    ## Nothing more to do below this line!
    
    ZLIB_CFLAGS   = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /I "$(ZLIB_PATH)"
    ZLIB_LFLAGS   = "/LIBPATH:$(ZLIB_PATH)"
    ZLIB_LIBS     = zlib.lib
    ZLIB_IMP_LIBS = zdll.lib
    
    SSL_CFLAGS     = /DUSE_SSLEAY
    SSL_LFLAGS     = /LIBPATH:"$(OPENSSL_PATH)/out32"
    SSL_IMP_LFLAGS = /LIBPATH:"$(OPENSSL_PATH)/out32dll"
    SSL_LIBS       = libeay32.lib ssleay32.lib gdi32.lib
    
    Gisle Vanem's avatar
     
    Gisle Vanem committed
    CCR   = cl.exe /MD /O2 /DNDEBUG
    
    LINKR = link.exe /incremental:no /libpath:"../lib"
    
    Gisle Vanem's avatar
     
    Gisle Vanem committed
    RCR   = rc.exe /dCURLDEBUG=0
    
    Gisle Vanem's avatar
     
    Gisle Vanem committed
    CCD   = cl.exe /MDd /Gm /ZI /Od /D_DEBUG /GZ
    
    LINKD = link.exe /incremental:yes /debug /libpath:"../lib"
    
    Gisle Vanem's avatar
     
    Gisle Vanem committed
    RCD   = rc.exe /dCURLDEBUG=1
    
    CFLAGS   = /I../lib /I../include /nologo /W3 /GX /DWIN32 /YX /FD /c
    LFLAGS   = /nologo /out:$(PROGRAM_NAME) /subsystem:console /machine:I386
    RESFLAGS = /i../include
    
    
    
    RELEASE_OBJS= \
    	hugehelpr.obj \
    	writeoutr.obj \
    	urlglobr.obj \
    
    	homedirr.obj \
    
    	timevalr.obj \
    	strtoofftr.obj \
    
    	mainr.obj \
    	curlr.res
    
    
    DEBUG_OBJS= \
    	hugehelpd.obj \
    	writeoutd.obj \
    	urlglobd.obj \
    
    	homedird.obj \
    
    	timevald.obj \
    	strtoofftd.obj \
    
    	maind.obj \
    	curld.res
    
    Gisle Vanem's avatar
     
    Gisle Vanem committed
    #################################################
    
    # If CFG not specified, use static libs
    
    CFLAGS         = $(CFLAGS) /DCURL_STATICLIB
    LINKLIBS       = libcurl.lib
    LINKLIBS_DEBUG = libcurld.lib
    
    #################################################
    # release dynamic library
    
    !IF "$(CFG)" == "release-dll"
    LINKLIBS       = libcurl_imp.lib
    LINKLIBS_DEBUG = libcurld_imp.lib
    !ENDIF
    
    #################################################
    # release static library with zlib
    
    CFLAGS         = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
    LINKLIBS       = libcurl.lib  $(ZLIB_LIBS)
    LINKLIBS_DEBUG = libcurld.lib $(ZLIB_LIBS)
    LFLAGS         = $(LFLAGS) $(ZLIB_LFLAGS)
    
    Gisle Vanem's avatar
     
    Gisle Vanem committed
    #################################################
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    !IF "$(CFG)" == "release-ssl"
    
    CFLAGS         = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB
    LINKLIBS       = libcurl.lib  $(SSL_LIBS)
    LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS)
    LFLAGS         = $(LFLAGS) $(SSL_LFLAGS)
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    !ENDIF
    
    Gisle Vanem's avatar
     
    Gisle Vanem committed
    #################################################
    
    # release dynamic library with dynamic ssl
    
    !IF "$(CFG)" == "release-dll-ssl-dll"
    CFLAGS         = $(CFLAGS) $(SSL_CFLAGS)
    LINKLIBS       = libcurl_imp.lib  $(SSL_LIBS)
    LINKLIBS_DEBUG = libcurld_imp.lib $(SSL_LIBS)
    LFLAGS         = $(LFLAGS) $(SSL_IMP_LFLAGS)
    
    Gisle Vanem's avatar
     
    Gisle Vanem committed
    #################################################
    
    # release static library with ssl and zlib
    
    !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)
    LFLAGS         = $(LFLAGS) $(SSL_LFLAGS) $(ZLIB_LFLAGS)
    
    Gisle Vanem's avatar
     
    Gisle Vanem committed
    #################################################
    
    # release static library with dynamic ssl
    
    Gisle Vanem's avatar
     
    Gisle Vanem committed
    
    
    !IF "$(CFG)" == "release-ssl-dll"
    CFLAGS         = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB
    LINKLIBS       = libcurl.lib  $(SSL_LIBS)
    LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS)
    LFLAGS         = $(LFLAGS) $(SSL_IMP_LFLAGS)
    !ENDIF
    
    #################################################
    # release static library with dynamic zlib
    
    !IF "$(CFG)" == "release-zlib-dll"
    CFLAGS         = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
    LINKLIBS       = libcurl.lib  $(ZLIB_IMP_LIBS)
    LINKLIBS_DEBUG = libcurld.lib $(ZLIB_IMP_LIBS)
    LFLAGS         = $(LFLAGS) $(ZLIB_LFLAGS)
    !ENDIF
    
    #################################################
    # release dynamic library with dynamic zlib
    
    !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)
    LFLAGS         = $(LFLAGS) $(ZLIB_LFLAGS)
    !ENDIF
    
    #################################################
    # release static library with dynamic ssl and dynamic zlib
    
    !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)
    LFLAGS         = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS)
    !ENDIF
    
    #################################################
    # release dynamic library with dynamic ssl and dynamic zlib
    
    !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)
    LFLAGS         = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS)
    
    Gisle Vanem's avatar
     
    Gisle Vanem committed
    !ENDIF
    
    
    LINKLIBS       = $(LINKLIBS) wsock32.lib winmm.lib
    LINKLIBS_DEBUG = $(LINKLIBS_DEBUG) wsock32.lib winmm.lib
    
    	$(LINKR) $(LFLAGS) $(LINKLIBS) $(RELEASE_OBJS)
    
    	$(LINKD) $(LFLAGS) $(LINKLIBS_DEBUG) $(DEBUG_OBJS)
    
    	$(CCR) $(CFLAGS) /Zm200 /Fo"$@" hugehelp.c
    
    	$(CCR) $(CFLAGS) /Fo"$@" writeout.c
    
    	$(CCR) $(CFLAGS) /Fo"$@" urlglob.c
    
    	$(CCR) $(CFLAGS) /Fo"$@" getpass.c
    
    homedirr.obj: homedir.c
    
    	$(CCR) $(CFLAGS) /Fo"$@" homedir.c
    
    timevalr.obj: ../lib/timeval.c
    	$(CCR) $(CFLAGS) /Fo"$@" ../lib/timeval.c
    strtoofftr.obj: ../lib/strtoofft.c
    	$(CCR) $(CFLAGS) /Fo"$@" ../lib/strtoofft.c
    
    curlr.res : curl.rc
    	$(RCR) $(RESFLAGS) /Fo"$@" curl.rc
    
    	$(CCD) $(CFLAGS) /Zm200 /Fo"$@" hugehelp.c
    
    	$(CCD) $(CFLAGS) /Fo"$@" writeout.c
    
    	$(CCD) $(CFLAGS) /Fo"$@" urlglob.c
    
    	$(CCD) $(CFLAGS) /Fo"$@" getpass.c
    
    homedird.obj: homedir.c
    
    	$(CCD) $(CFLAGS) /Fo"$@" homedir.c
    
    Gisle Vanem's avatar
    Gisle Vanem committed
    timevald.obj: ../lib/timeval.c
    
    	$(CCD) $(CFLAGS) /Fo"$@" ../lib/timeval.c
    
    strtoofftd.obj: ../lib/strtoofft.c
    
    	$(CCD) $(CFLAGS) /Fo"$@" ../lib/strtoofft.c
    
    curld.res : curl.rc
    	$(RCD) $(RESFLAGS) /Fo"$@" curl.rc
    
    	@-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