1 # makefile for libpng using emscripten
2 # Copyright (C) 2000, 2014, 2019-2022 Cosmin Truta
3 # Copyright (C) 2021 Kirk Roerig
4 # Copyright (C) 2008, 2014 Glenn Randers-Pehrson
5 # Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
7 # This code is released under the libpng license.
8 # For conditions of distribution and use, see the disclaimer
11 # Location of the zlib library and include files
15 # Compiler, linker, lib and other tools
23 CPPFLAGS = -I$(ZLIBINC) # -DPNG_DEBUG=5
24 CFLAGS = -O2 -Wall -Wextra -Wundef
25 LDFLAGS = -L$(ZLIBLIB)
26 PNGTEST_LDFLAGS = --preload-file=pngtest.png
29 # Pre-built configuration
30 # See scripts/pnglibconf.mak for more options
31 PNGLIBCONF_H_PREBUILT = scripts/pnglibconf.h.prebuilt
34 OBJS = png.o pngerror.o pngget.o pngmem.o pngpread.o \
35 pngread.o pngrio.o pngrtran.o pngrutil.o pngset.o \
36 pngtrans.o pngwio.o pngwrite.o pngwtran.o pngwutil.o
41 pnglibconf.h: $(PNGLIBCONF_H_PREBUILT)
42 $(CP) $(PNGLIBCONF_H_PREBUILT) $@
45 $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
47 static: libpng.a pngtest
50 @echo This makefile cannot create shared libraries.
60 pngtest: pngtest.o libpng.a
61 $(LD) $(LDFLAGS) $(PNGTEST_LDFLAGS) -o $@ pngtest.o libpng.a $(LIBS)
64 $(RM_F) *.o libpng.a pngtest pngout.png pnglibconf.h
65 $(RM_F) pngtest.data pngtest.wasm
67 png.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
68 pngerror.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
69 pngget.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
70 pngmem.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
71 pngpread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
72 pngread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
73 pngrio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
74 pngrtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
75 pngrutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
76 pngset.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
77 pngtrans.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
78 pngwio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
79 pngwrite.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
80 pngwtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
81 pngwutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
83 pngtest.o: png.h pngconf.h pnglibconf.h