Home | History | Annotate | Download | only in win32
      1 # Makefile for zlib -- Microsoft (Visual) C
      2 #
      3 # Authors:
      4 #   Cosmin Truta, 11-Mar-2003
      5 #   Christian Spieler, 19-Mar-2003
      6 #
      7 # Last updated:
      8 #   Cosmin Truta, 27-Aug-2003
      9 #
     10 # Usage:
     11 #   nmake -f win32/Makefile.msc            (standard build)
     12 #   nmake -f win32/Makefile.msc LOC=-DFOO  (nonstandard build)
     13 #   nmake -f win32/Makefile.msc LOC=-DASMV OBJA=match.obj  (use ASM code)
     14 
     15 
     16 # optional build flags
     17 LOC =
     18 
     19 
     20 # variables
     21 STATICLIB = zlib.lib
     22 SHAREDLIB = zlib1.dll
     23 IMPLIB    = zdll.lib
     24 
     25 CC = cl
     26 AS = ml
     27 LD = link
     28 AR = lib
     29 RC = rc
     30 CFLAGS  = -nologo -MD -O2 $(LOC)
     31 ASFLAGS = -coff
     32 LDFLAGS = -nologo -release
     33 ARFLAGS = -nologo
     34 RCFLAGS = /dWIN32 /r
     35 
     36 OBJS = adler32.obj compress.obj crc32.obj deflate.obj gzio.obj infback.obj \
     37        inffast.obj inflate.obj inftrees.obj trees.obj uncompr.obj zutil.obj
     38 OBJA =
     39 
     40 
     41 # targets
     42 all: $(STATICLIB) $(SHAREDLIB) $(IMPLIB) \
     43      example.exe minigzip.exe example_d.exe minigzip_d.exe
     44 
     45 $(STATICLIB): $(OBJS) $(OBJA)
     46 	$(AR) $(ARFLAGS) -out:$@ $(OBJS) $(OBJA)
     47 
     48 $(IMPLIB): $(SHAREDLIB)
     49 
     50 $(SHAREDLIB): win32/zlib.def $(OBJS) $(OBJA) zlib1.res
     51 	$(LD) $(LDFLAGS) -def:win32/zlib.def -dll -implib:$(IMPLIB) \
     52 	  -out:$@ $(OBJS) $(OBJA) zlib1.res
     53 
     54 example.exe: example.obj $(STATICLIB)
     55 	$(LD) $(LDFLAGS) example.obj $(STATICLIB)
     56 
     57 minigzip.exe: minigzip.obj $(STATICLIB)
     58 	$(LD) $(LDFLAGS) minigzip.obj $(STATICLIB)
     59 
     60 example_d.exe: example.obj $(IMPLIB)
     61 	$(LD) $(LDFLAGS) -out:$@ example.obj $(IMPLIB)
     62 
     63 minigzip_d.exe: minigzip.obj $(IMPLIB)
     64 	$(LD) $(LDFLAGS) -out:$@ minigzip.obj $(IMPLIB)
     65 
     66 .c.obj:
     67 	$(CC) -c $(CFLAGS) $<
     68 
     69 .asm.obj:
     70 	$(AS) -c $(ASFLAGS) $<
     71 
     72 adler32.obj: adler32.c zlib.h zconf.h
     73 
     74 compress.obj: compress.c zlib.h zconf.h
     75 
     76 crc32.obj: crc32.c zlib.h zconf.h crc32.h
     77 
     78 deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h
     79 
     80 gzio.obj: gzio.c zutil.h zlib.h zconf.h
     81 
     82 infback.obj: infback.c zutil.h zlib.h zconf.h inftrees.h inflate.h \
     83              inffast.h inffixed.h
     84 
     85 inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h inflate.h \
     86              inffast.h
     87 
     88 inflate.obj: inflate.c zutil.h zlib.h zconf.h inftrees.h inflate.h \
     89              inffast.h inffixed.h
     90 
     91 inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h
     92 
     93 trees.obj: trees.c zutil.h zlib.h zconf.h deflate.h trees.h
     94 
     95 uncompr.obj: uncompr.c zlib.h zconf.h
     96 
     97 zutil.obj: zutil.c zutil.h zlib.h zconf.h
     98 
     99 example.obj: example.c zlib.h zconf.h
    100 
    101 minigzip.obj: minigzip.c zlib.h zconf.h
    102 
    103 zlib1.res: win32/zlib1.rc
    104 	$(RC) $(RCFLAGS) /fo$@ win32/zlib1.rc
    105 
    106 
    107 # testing
    108 test: example.exe minigzip.exe
    109 	example
    110 	echo hello world | minigzip | minigzip -d
    111 
    112 testdll: example_d.exe minigzip_d.exe
    113 	example_d
    114 	echo hello world | minigzip_d | minigzip_d -d
    115 
    116 
    117 # cleanup
    118 clean:
    119 	-del $(STATICLIB)
    120 	-del $(SHAREDLIB)
    121 	-del $(IMPLIB)
    122 	-del *.obj
    123 	-del *.res
    124 	-del *.exp
    125 	-del *.exe
    126 	-del foo.gz
    127