Imported Upstream version 1.6.39
[platform/upstream/libpng.git] / scripts / makefile.vcwin-arm64
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
5 #
6 # This code is released under the libpng license.
7 # For conditions of distribution and use, see the disclaimer
8 # and license in png.h
9 #
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"
12
13 # -------- Microsoft Visual C++ 2.0 and later --------
14
15 # Compiler, linker, librarian and other tools
16 CC = cl
17 LD = link
18 AR = lib
19 CPPFLAGS = -I..\zlib
20 CFLAGS  = -nologo -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -DPNG_ARM_NEON_OPT=1 -MD -O2 -W3
21 LDFLAGS = -nologo
22 ARFLAGS = -nologo
23 CP = copy
24 RM = del
25
26 # Uncomment next to put error messages in a file
27 #ERRFILE= >> pngerrs.log
28
29 # Pre-built configuration
30 # See scripts\pnglibconf.mak for more options
31 PNGLIBCONF_H_PREBUILT = scripts\pnglibconf.h.prebuilt
32
33 # File extensions
34 O=.obj
35
36 # File lists
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)
42
43 # Targets
44 all: libpng.lib
45
46 pnglibconf.h: $(PNGLIBCONF_H_PREBUILT)
47         $(CP) $(PNGLIBCONF_H_PREBUILT) $@
48
49 png$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
50         $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
51
52 pngerror$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
53         $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
54
55 pngget$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
56         $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
57
58 pngmem$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
59         $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
60
61 pngpread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
62         $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
63
64 pngread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
65         $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
66
67 pngrio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
68         $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
69
70 pngrtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
71         $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
72
73 pngrutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
74         $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
75
76 pngset$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
77         $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
78
79 pngtrans$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
80         $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
81
82 pngwio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
83         $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
84
85 pngwrite$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
86         $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
87
88 pngwtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
89         $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
90
91 pngwutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
92         $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
93
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)
96
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)
99
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)
102
103 libpng.lib: $(OBJS)
104         -$(RM) $@
105         $(AR) $(ARFLAGS) -out:$@ $(OBJS) $(ERRFILE)
106
107 pngtest.exe: pngtest$(O) libpng.lib
108         $(LD) $(LDFLAGS) -out:$@ pngtest$(O) libpng.lib ..\zlib\zlib.lib $(ERRFILE)
109
110 pngtest$(O): png.h pngconf.h pnglibconf.h
111         $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
112
113 test: pngtest.exe
114         pngtest.exe
115
116 clean:
117         -$(RM) *$(O)
118         -$(RM) libpng.lib
119         -$(RM) pnglibconf.h
120         -$(RM) pngtest.exe
121         -$(RM) pngout.png
122
123 # End of makefile for libpng