]> git.ipfire.org Git - thirdparty/zlib-ng.git/commitdiff
Add support for Visual Studio 2019 nmake.
authorMika Lindqvist <postmaster@raasu.org>
Thu, 29 Aug 2019 16:40:03 +0000 (19:40 +0300)
committerHans Kristian Rosbach <hk-github@circlestorm.org>
Thu, 5 Sep 2019 07:39:59 +0000 (09:39 +0200)
win32/Makefile.a64 [new file with mode: 0644]
win32/Makefile.arm
win32/Makefile.msc

diff --git a/win32/Makefile.a64 b/win32/Makefile.a64
new file mode 100644 (file)
index 0000000..924407a
--- /dev/null
@@ -0,0 +1,168 @@
+# Makefile for zlib using Microsoft (Visual) C
+# zlib is copyright (C) 1995-2006 Jean-loup Gailly and Mark Adler
+#
+# Usage:
+#   nmake -f win32/Makefile.a64                          (standard build)
+#   nmake -f win32/Makefile.a64 LOC=-DFOO                (nonstandard build)
+
+# The toplevel directory of the source tree.
+#
+TOP = .
+
+# optional build flags
+LOC =
+
+# variables
+STATICLIB = zlib.lib
+SHAREDLIB = zlib1.dll
+IMPLIB    = zdll.lib
+
+CC = cl
+LD = link
+AR = lib
+RC = rc
+CP = copy /y
+CFLAGS  = -nologo -MD -W3 -O2 -Oy- -Zi -Fd"zlib" $(LOC)
+WFLAGS  = -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DUNALIGNED_OK -D_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1
+LDFLAGS = -nologo -debug -incremental:no -opt:ref -manifest
+ARFLAGS = -nologo
+RCFLAGS = /dARM64 /r
+DEFFILE = zlib.def
+RCFILE = zlib1.rc
+RESFILE = zlib1.res
+WITH_GZFILEOP =
+SUFFIX =
+
+OBJS = adler32.obj armfeature.obj compress.obj crc32.obj deflate.obj deflate_fast.obj deflate_slow.obj \
+       deflate_medium.obj \
+       functable.obj infback.obj inflate.obj inftrees.obj inffast.obj trees.obj uncompr.obj zutil.obj fill_window_arm.obj
+!if "$(WITH_GZFILEOP)" != ""
+WFLAGS = $(WFLAGS) -DWITH_GZFILEOP
+OBJS = $(OBJS) gzclose.obj gzlib.obj gzread.obj gzwrite.obj
+DEFFILE = zlibcompat.def
+!else
+STATICLIB = zlib-ng.lib
+SHAREDLIB = zlib-ng1.dll
+IMPLIB = zngdll.lib
+DEFFILE = zlib-ng.def
+RCFILE = zlib-ng1.rc
+RESFILE = zlib-ng1.res
+SUFFIX = -ng
+!endif
+WFLAGS = $(WFLAGS) -DARM_ACLE_CRC_HASH -D__ARM_NEON__=1 -DARM_NEON_ADLER32 -DARM_NOCHECK_NEON
+OBJS = $(OBJS) crc32_acle.obj insert_string_acle.obj adler32_neon.obj
+
+# targets
+all: $(STATICLIB) $(SHAREDLIB) $(IMPLIB) \
+     example.exe minigzip.exe example_d.exe minigzip_d.exe
+
+zconf: $(TOP)/zconf$(SUFFIX).h.in
+     $(CP) $(TOP)\zconf$(SUFFIX).h.in $(TOP)\zconf$(SUFFIX).h
+
+$(STATICLIB): zconf $(OBJS)
+       $(AR) $(ARFLAGS) -out:$@ $(OBJS)
+
+$(IMPLIB): $(SHAREDLIB)
+
+$(SHAREDLIB): zconf $(TOP)/win32/$(DEFFILE) $(OBJS) $(RESFILE)
+       $(LD) $(LDFLAGS) -def:$(TOP)/win32/$(DEFFILE) -dll -implib:$(IMPLIB) \
+         -out:$@ -base:0x55A4C0000 $(OBJS) $(RESFILE)
+       if exist $@.manifest \
+         mt -nologo -manifest $@.manifest -outputresource:$@;2
+
+example.exe: example.obj gzclose2.obj gzlib2.obj gzread2.obj gzwrite2.obj $(STATICLIB)
+       $(LD) $(LDFLAGS) example.obj gzclose2.obj gzlib2.obj gzread2.obj gzwrite2.obj $(STATICLIB)
+       if exist $@.manifest \
+         mt -nologo -manifest $@.manifest -outputresource:$@;1
+
+minigzip.exe: minigzip.obj gzclose2.obj gzlib2.obj gzread2.obj gzwrite2.obj $(STATICLIB)
+       $(LD) $(LDFLAGS) minigzip.obj  gzclose2.obj gzlib2.obj gzread2.obj gzwrite2.obj $(STATICLIB)
+       if exist $@.manifest \
+         mt -nologo -manifest $@.manifest -outputresource:$@;1
+
+example_d.exe: example.obj gzclose2.obj gzlib2.obj gzread2.obj gzwrite2.obj $(IMPLIB)
+       $(LD) $(LDFLAGS) -out:$@ example.obj  gzclose2.obj gzlib2.obj gzread2.obj gzwrite2.obj $(IMPLIB)
+       if exist $@.manifest \
+         mt -nologo -manifest $@.manifest -outputresource:$@;1
+
+minigzip_d.exe: minigzip.obj gzclose2.obj gzlib2.obj gzread2.obj gzwrite2.obj $(IMPLIB)
+       $(LD) $(LDFLAGS) -out:$@ minigzip.obj  gzclose2.obj gzlib2.obj gzread2.obj gzwrite2.obj $(IMPLIB)
+       if exist $@.manifest \
+         mt -nologo -manifest $@.manifest -outputresource:$@;1
+
+{$(TOP)}.c.obj:
+       $(CC) -c $(WFLAGS) $(CFLAGS) $<
+
+gzclose2.obj: gzclose.c
+       $(CC) -c $(WFLAGS) $(CFLAGS) -DWITH_GZFILEOP -Fogzclose2.obj gzclose.c
+
+gzlib2.obj: gzlib.c
+       $(CC) -c $(WFLAGS) $(CFLAGS) -DWITH_GZFILEOP -Fogzlib2.obj gzlib.c
+
+gzread2.obj: gzread.c
+       $(CC) -c $(WFLAGS) $(CFLAGS) -DWITH_GZFILEOP -Fogzread2.obj gzread.c
+
+gzwrite2.obj: gzwrite.c
+       $(CC) -c $(WFLAGS) $(CFLAGS) -DWITH_GZFILEOP -Fogzwrite2.obj gzwrite.c
+
+{$(TOP)/arch/arm}.c.obj:
+       $(CC) -c -I$(TOP) $(WFLAGS) $(CFLAGS) $<
+
+{$(TOP)/test}.c.obj:
+       $(CC) -c -I$(TOP) $(WFLAGS) $(CFLAGS) -DWITH_GZFILEOP $<
+
+$(TOP)/zconf$(SUFFIX).h: zconf
+
+SRCDIR = $(TOP)
+# Keep the dependences in sync with top-level Makefile.in
+adler32.obj: $(SRCDIR)/adler32.c $(SRCDIR)/zbuild.h $(SRCDIR)/zutil.h $(SRCDIR)/functable.h $(SRCDIR)/adler32_p.h
+functable.obj: $(SRCDIR)/functable.c $(SRCDIR)/zbuild.h $(SRCDIR)/functable.h $(SRCDIR)/deflate.h $(SRCDIR)/deflate_p.h $(SRCDIR)/zendian.h $(SRCDIR)/arch/x86/x86.h
+gzclose.obj: $(SRCDIR)/gzclose.c $(SRCDIR)/zbuild.h $(SRCDIR)/gzguts.h
+gzlib.obj: $(SRCDIR)/gzlib.c $(SRCDIR)/zbuild.h $(SRCDIR)/gzguts.h
+gzread.obj: $(SRCDIR)/gzread.c $(SRCDIR)/zbuild.h $(SRCDIR)/gzguts.h
+gzwrite.obj: $(SRCDIR)/gzwrite.c $(SRCDIR)/zbuild.h $(SRCDIR)/gzguts.h
+compress.obj: $(SRCDIR)/compress.c $(SRCDIR)/zbuild.h $(SRCDIR)/zlib$(SUFFIX).h
+uncompr.obj: $(SRCDIR)/uncompr.c $(SRCDIR)/zbuild.h $(SRCDIR)/zlib$(SUFFIX).h
+crc32.obj: $(SRCDIR)/crc32.c $(SRCDIR)/zbuild.h $(SRCDIR)/zendian.h $(SRCDIR)/deflate.h $(SRCDIR)/functable.h $(SRCDIR)/crc32.h
+deflate.obj: $(SRCDIR)/deflate.c $(SRCDIR)/zbuild.h $(SRCDIR)/deflate.h $(SRCDIR)/deflate_p.h $(SRCDIR)/functable.h
+deflate_fast.obj: $(SRCDIR)/deflate_fast.c $(SRCDIR)/zbuild.h $(SRCDIR)/deflate.h $(SRCDIR)/deflate_p.h $(SRCDIR)/match_p.h $(SRCDIR)/functable.h
+deflate_medium.obj: $(SRCDIR)/deflate_medium.c $(SRCDIR)/zbuild.h $(SRCDIR)/deflate.h $(SRCDIR)/deflate_p.h $(SRCDIR)/match_p.h $(SRCDIR)/functable.h
+deflate_slow.obj: $(SRCDIR)/deflate_slow.c $(SRCDIR)/zbuild.h $(SRCDIR)/deflate.h $(SRCDIR)/deflate_p.h $(SRCDIR)/match_p.h $(SRCDIR)/functable.h
+infback.obj: $(SRCDIR)/infback.c $(SRCDIR)/zbuild.h $(SRCDIR)/zutil.h $(SRCDIR)/inftrees.h $(SRCDIR)/inflate.h $(SRCDIR)/inffast.h
+inffast.obj: $(SRCDIR)/inffast.c $(SRCDIR)/zbuild.h $(SRCDIR)/zutil.h $(SRCDIR)/inftrees.h $(SRCDIR)/inflate.h $(SRCDIR)/inffast.h $(SRCDIR)/memcopy.h
+inflate.obj: $(SRCDIR)/inflate.c $(SRCDIR)/zbuild.h $(SRCDIR)/zutil.h $(SRCDIR)/inftrees.h $(SRCDIR)/inflate.h $(SRCDIR)/inffast.h $(SRCDIR)/memcopy.h $(SRCDIR)/functable.h
+inftrees.obj: $(SRCDIR)/inftrees.c $(SRCDIR)/zbuild.h $(SRCDIR)/zutil.h $(SRCDIR)/inftrees.h
+trees.obj: $(SRCDIR)/zbuild.h $(SRCDIR)/deflate.h $(SRCDIR)/trees.h
+zutil.obj: $(SRCDIR)/zbuild.h $(SRCDIR)/zutil.h $(SRCDIR)/gzguts.h
+
+example.obj: $(TOP)/test/example.c $(TOP)/zbuild.h $(TOP)/zlib$(SUFFIX).h
+
+minigzip.obj: $(TOP)/test/minigzip.c $(TOP)/zbuild.h $(TOP)/zlib$(SUFFIX).h
+
+$(RESFILE): $(TOP)/win32/$(RCFILE)
+       $(RC) $(RCFLAGS) /fo$@ $(TOP)/win32/$(RCFILE)
+
+# testing
+test: example.exe minigzip.exe
+       example
+       echo hello world | minigzip | minigzip -d
+
+testdll: example_d.exe minigzip_d.exe
+       example_d
+       echo hello world | minigzip_d | minigzip_d -d
+
+
+# cleanup
+clean:
+       -del $(STATICLIB)
+       -del $(SHAREDLIB)
+       -del $(IMPLIB)
+       -del *.obj
+       -del *.res
+       -del *.exp
+       -del *.exe
+       -del *.pdb
+       -del *.manifest
+
+distclean: clean
+       -del zconf$(SUFFIX).h
index 7142bba921862e0afbb49157c8a07559ac3394cf..984acc706dcc75f7af2cad06a4db240cb27f6a13 100644 (file)
@@ -84,34 +84,46 @@ $(SHAREDLIB): zconf $(TOP)/win32/$(DEFFILE) $(OBJS) $(RESFILE)
        if exist $@.manifest \
          mt -nologo -manifest $@.manifest -outputresource:$@;2
 
-example.exe: example.obj $(STATICLIB)
-       $(LD) $(LDFLAGS) example.obj $(STATICLIB)
+example.exe: example.obj gzclose2.obj gzlib2.obj gzread2.obj gzwrite2.obj $(STATICLIB)
+       $(LD) $(LDFLAGS) example.obj gzclose2.obj gzlib2.obj gzread2.obj gzwrite2.obj $(STATICLIB)
        if exist $@.manifest \
          mt -nologo -manifest $@.manifest -outputresource:$@;1
 
-minigzip.exe: minigzip.obj $(STATICLIB)
-       $(LD) $(LDFLAGS) minigzip.obj $(STATICLIB)
+minigzip.exe: minigzip.obj gzclose2.obj gzlib2.obj gzread2.obj gzwrite2.obj $(STATICLIB)
+       $(LD) $(LDFLAGS) minigzip.obj  gzclose2.obj gzlib2.obj gzread2.obj gzwrite2.obj $(STATICLIB)
        if exist $@.manifest \
          mt -nologo -manifest $@.manifest -outputresource:$@;1
 
-example_d.exe: example.obj $(IMPLIB)
-       $(LD) $(LDFLAGS) -out:$@ example.obj $(IMPLIB)
+example_d.exe: example.obj gzclose2.obj gzlib2.obj gzread2.obj gzwrite2.obj $(IMPLIB)
+       $(LD) $(LDFLAGS) -out:$@ example.obj  gzclose2.obj gzlib2.obj gzread2.obj gzwrite2.obj $(IMPLIB)
        if exist $@.manifest \
          mt -nologo -manifest $@.manifest -outputresource:$@;1
 
-minigzip_d.exe: minigzip.obj $(IMPLIB)
-       $(LD) $(LDFLAGS) -out:$@ minigzip.obj $(IMPLIB)
+minigzip_d.exe: minigzip.obj gzclose2.obj gzlib2.obj gzread2.obj gzwrite2.obj $(IMPLIB)
+       $(LD) $(LDFLAGS) -out:$@ minigzip.obj  gzclose2.obj gzlib2.obj gzread2.obj gzwrite2.obj $(IMPLIB)
        if exist $@.manifest \
          mt -nologo -manifest $@.manifest -outputresource:$@;1
 
 {$(TOP)}.c.obj:
        $(CC) -c $(WFLAGS) $(CFLAGS) $<
 
+gzclose2.obj: gzclose.c
+       $(CC) -c $(WFLAGS) $(CFLAGS) -DWITH_GZFILEOP -Fogzclose2.obj gzclose.c
+
+gzlib2.obj: gzlib.c
+       $(CC) -c $(WFLAGS) $(CFLAGS) -DWITH_GZFILEOP -Fogzlib2.obj gzlib.c
+
+gzread2.obj: gzread.c
+       $(CC) -c $(WFLAGS) $(CFLAGS) -DWITH_GZFILEOP -Fogzread2.obj gzread.c
+
+gzwrite2.obj: gzwrite.c
+       $(CC) -c $(WFLAGS) $(CFLAGS) -DWITH_GZFILEOP -Fogzwrite2.obj gzwrite.c
+
 {$(TOP)/arch/arm}.c.obj:
        $(CC) -c -I$(TOP) $(WFLAGS) $(CFLAGS) $<
 
 {$(TOP)/test}.c.obj:
-       $(CC) -c -I$(TOP) $(WFLAGS) $(CFLAGS) $<
+       $(CC) -c -I$(TOP) $(WFLAGS) $(CFLAGS) -DWITH_GZFILEOP $<
 
 $(TOP)/zconf$(SUFFIX).h: zconf
 
index 4ad62ebf3c10d8b8bbd7b793ed34299b60e3edd3..a1c73e33b6e6c6ae3835130e8b5fecfa272d8085 100644 (file)
@@ -75,34 +75,46 @@ $(SHAREDLIB): zconf $(TOP)/win32/$(DEFFILE) $(OBJS) $(RESFILE)
        if exist $@.manifest \
          mt -nologo -manifest $@.manifest -outputresource:$@;2
 
-example.exe: example.obj $(STATICLIB)
-       $(LD) $(LDFLAGS) example.obj $(STATICLIB)
+example.exe: example.obj gzclose2.obj gzlib2.obj gzread2.obj gzwrite2.obj $(STATICLIB)
+       $(LD) $(LDFLAGS) example.obj gzclose2.obj gzlib2.obj gzread2.obj gzwrite2.obj $(STATICLIB)
        if exist $@.manifest \
          mt -nologo -manifest $@.manifest -outputresource:$@;1
 
-minigzip.exe: minigzip.obj $(STATICLIB)
-       $(LD) $(LDFLAGS) minigzip.obj $(STATICLIB)
+minigzip.exe: minigzip.obj gzclose2.obj gzlib2.obj gzread2.obj gzwrite2.obj $(STATICLIB)
+       $(LD) $(LDFLAGS) minigzip.obj gzclose2.obj gzlib2.obj gzread2.obj gzwrite2.obj $(STATICLIB)
        if exist $@.manifest \
          mt -nologo -manifest $@.manifest -outputresource:$@;1
 
-example_d.exe: example.obj $(IMPLIB)
-       $(LD) $(LDFLAGS) -out:$@ example.obj $(IMPLIB)
+example_d.exe: example.obj gzclose2.obj gzlib2.obj gzread2.obj gzwrite2.obj $(IMPLIB)
+       $(LD) $(LDFLAGS) -out:$@ example.obj gzclose2.obj gzlib2.obj gzread2.obj gzwrite2.obj $(IMPLIB)
        if exist $@.manifest \
          mt -nologo -manifest $@.manifest -outputresource:$@;1
 
-minigzip_d.exe: minigzip.obj $(IMPLIB)
-       $(LD) $(LDFLAGS) -out:$@ minigzip.obj $(IMPLIB)
+minigzip_d.exe: minigzip.obj gzclose2.obj gzlib2.obj gzread2.obj gzwrite2.obj $(IMPLIB)
+       $(LD) $(LDFLAGS) -out:$@ minigzip.obj gzclose2.obj gzlib2.obj gzread2.obj gzwrite2.obj $(IMPLIB)
        if exist $@.manifest \
          mt -nologo -manifest $@.manifest -outputresource:$@;1
 
 {$(TOP)}.c.obj:
        $(CC) -c $(WFLAGS) $(CFLAGS) $<
 
+gzclose2.obj: gzclose.c
+       $(CC) -c $(WFLAGS) $(CFLAGS) -DWITH_GZFILEOP -Fogzclose2.obj gzclose.c
+
+gzlib2.obj: gzlib.c
+       $(CC) -c $(WFLAGS) $(CFLAGS) -DWITH_GZFILEOP -Fogzlib2.obj gzlib.c
+
+gzread2.obj: gzread.c
+       $(CC) -c $(WFLAGS) $(CFLAGS) -DWITH_GZFILEOP -Fogzread2.obj gzread.c
+
+gzwrite2.obj: gzwrite.c
+       $(CC) -c $(WFLAGS) $(CFLAGS) -DWITH_GZFILEOP -Fogzwrite2.obj gzwrite.c
+
 {$(TOP)/arch/x86}.c.obj:
        $(CC) -c -I$(TOP) $(WFLAGS) $(CFLAGS) $<
 
 {$(TOP)/test}.c.obj:
-       $(CC) -c -I$(TOP) $(WFLAGS) $(CFLAGS) $<
+       $(CC) -c -I$(TOP) $(WFLAGS) $(CFLAGS) -DWITH_GZFILEOP $<
 
 $(TOP)/zconf$(SUFFIX).h: zconf