-OBJ1=adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O)
-OBJ2=trees$(O) zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O)
-OBJ3=infutil$(O) inffast$(O)
-OBJP1=adler32$(O)+compress$(O)+crc32$(O)+gzio$(O)+uncompr$(O)+deflate$(O)
-OBJP2=trees$(O)+zutil$(O)+inflate$(O)+infblock$(O)+inftrees$(O)+infcodes$(O)
-OBJP3=infutil$(O)+inffast$(O)
-
-all: test
-
-adler32.obj: adler32.c zutil.h zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-compress.obj: compress.c zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-crc32.obj: crc32.c zutil.h zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-gzio.obj: gzio.c zutil.h zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-infblock.obj: infblock.c zutil.h zlib.h zconf.h infblock.h inftrees.h &
- infcodes.h infutil.h
- $(CC) $(CFLAGS) $*.c
-
-infcodes.obj: infcodes.c zutil.h zlib.h zconf.h inftrees.h infutil.h &
- infcodes.h inffast.h
- $(CC) $(CFLAGS) $*.c
-
-inflate.obj: inflate.c zutil.h zlib.h zconf.h infblock.h
- $(CC) $(CFLAGS) $*.c
-
-inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h
- $(CC) $(CFLAGS) $*.c
-
-infutil.obj: infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h
- $(CC) $(CFLAGS) $*.c
-
-inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
- $(CC) $(CFLAGS) $*.c
-
-trees.obj: trees.c deflate.h zutil.h zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-uncompr.obj: uncompr.c zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-zutil.obj: zutil.c zutil.h zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-example.obj: example.c zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-minigzip.obj: minigzip.c zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-# we must cut the command line to fit in the MS/DOS 128 byte limit:
-$(LIBTARGET): $(OBJ1) $(OBJ2) $(OBJ3)
- del $(LIBTARGET)
- $(LIB) $(LIBTARGET) +$(OBJP1)
- $(LIB) $(LIBTARGET) +$(OBJP2)
- $(LIB) $(LIBTARGET) +$(OBJP3)
-
-example.exe: example.obj $(LIBTARGET)
- $(LD) $(LDFLAGS) example.obj $(LIBTARGET)
-
-minigzip.exe: minigzip.obj $(LIBTARGET)
- $(LD) $(LDFLAGS) minigzip.obj $(LIBTARGET)
-
-test: minigzip.exe example.exe
- example
- echo hello world | minigzip | minigzip -d >test
- type test
-
-clean:
+OBJECTS = &
+ $(OUTPUTDIR)\adler32.obj &
+ $(OUTPUTDIR)\compress.obj &
+ $(OUTPUTDIR)\crc32.obj &
+ $(OUTPUTDIR)\gzio.obj &
+ $(OUTPUTDIR)\uncompr.obj &
+ $(OUTPUTDIR)\deflate.obj &
+ $(OUTPUTDIR)\trees.obj &
+ $(OUTPUTDIR)\zutil.obj &
+ $(OUTPUTDIR)\inflate.obj &
+ $(OUTPUTDIR)\infblock.obj &
+ $(OUTPUTDIR)\inftrees.obj &
+ $(OUTPUTDIR)\infcodes.obj &
+ $(OUTPUTDIR)\infutil.obj &
+ $(OUTPUTDIR)\inffast.obj
+
+# all: test
+
+all: $(OUTPUTDIR) $(LIBTARGET) .SYMBOLIC
+
+$(OUTPUTDIR):
+ @if not exist $^@ mkdir $^@
+
+LBCFILE=$(OUTPUTDIR)\zlib.lbc
+$(LIBTARGET) : $(OBJECTS)
+ %create $(LBCFILE)
+ @for %i in ( $(OBJECTS) ) do @%append $(LBCFILE) +%i
+ wlib /q /b /c /n /p=512 $^@ @$(LBCFILE)
+
+clean: .SYMBOLIC