1 # makefile for libpng on win-arm64
2 # Copyright (C) 2021 Gabor Kertesz
3 # Copyright (C) 1998 Tim Wegner
4 # Copyright (C) 2006,2009,2011,2014 Glenn Randers-Pehrson
6 # This code is released under the libpng license.
7 # For conditions of distribution and use, see the disclaimer
10 # Assumes that zlib.lib, zconf.h, and zlib.h have been copied to ..\zlib
11 # To use, do "nmake /f scripts\makefile.vcwin-arm64"
13 # -------- Microsoft Visual C++ 2.0 and later --------
15 # Compiler, linker, librarian and other tools
20 CFLAGS = -nologo -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -DPNG_ARM_NEON_OPT=1 -MD -O2 -W3
26 # Uncomment next to put error messages in a file
27 #ERRFILE= >> pngerrs.log
29 # Pre-built configuration
30 # See scripts\pnglibconf.mak for more options
31 PNGLIBCONF_H_PREBUILT = scripts\pnglibconf.h.prebuilt
37 OBJS1 = png$(O) pngerror$(O) pngget$(O) pngmem$(O) pngpread$(O)
38 OBJS2 = pngread$(O) pngrio$(O) pngrtran$(O) pngrutil$(O) pngset$(O)
39 OBJS3 = pngtrans$(O) pngwio$(O) pngwrite$(O) pngwtran$(O) pngwutil$(O)
40 OBJS4 = arm_init$(O) filter_neon_intrinsics$(O) palette_neon_intrinsics$(O)
41 OBJS = $(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4)
46 pnglibconf.h: $(PNGLIBCONF_H_PREBUILT)
47 $(CP) $(PNGLIBCONF_H_PREBUILT) $@
49 png$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
50 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
52 pngerror$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
53 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
55 pngget$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
56 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
58 pngmem$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
59 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
61 pngpread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
62 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
64 pngread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
65 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
67 pngrio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
68 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
70 pngrtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
71 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
73 pngrutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
74 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
76 pngset$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
77 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
79 pngtrans$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
80 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
82 pngwio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
83 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
85 pngwrite$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
86 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
88 pngwtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
89 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
91 pngwutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
92 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
94 arm_init$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
95 $(CC) -c $(CPPFLAGS) $(CFLAGS) arm\$*.c $(ERRFILE)
97 filter_neon_intrinsics$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
98 $(CC) -c $(CPPFLAGS) $(CFLAGS) arm\$*.c $(ERRFILE)
100 palette_neon_intrinsics$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
101 $(CC) -c $(CPPFLAGS) $(CFLAGS) arm\$*.c $(ERRFILE)
105 $(AR) $(ARFLAGS) -out:$@ $(OBJS) $(ERRFILE)
107 pngtest.exe: pngtest$(O) libpng.lib
108 $(LD) $(LDFLAGS) -out:$@ pngtest$(O) libpng.lib ..\zlib\zlib.lib $(ERRFILE)
110 pngtest$(O): png.h pngconf.h pnglibconf.h
111 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
123 # End of makefile for libpng