1# makefile for libpng using gcc (generic, static library) 2# Copyright (C) 2008, 2014 Glenn Randers-Pehrson 3# Copyright (C) 2000 Cosmin Truta 4# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc. 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# Location of the zlib library and include files 11ZLIBINC = ../zlib 12ZLIBLIB = ../zlib 13 14# Compiler, linker, lib and other tools 15CC = gcc 16LD = $(CC) 17AR_RC = ar rcs 18RANLIB = ranlib 19RM_F = rm -f 20 21WARNMORE = -Wwrite-strings -Wpointer-arith -Wshadow \ 22 -Wmissing-declarations -Wtraditional -Wcast-align \ 23 -Wstrict-prototypes -Wmissing-prototypes # -Wconversion 24CPPFLAGS = -I$(ZLIBINC) # -DPNG_DEBUG=5 25CFLAGS = -W -Wall -O2 # $(WARNMORE) -g 26LDFLAGS = 27LIBS = -lz -lm 28 29# File extensions 30EXEEXT = 31 32# Variables 33OBJS = png.o pngerror.o pngget.o pngmem.o pngpread.o \ 34 pngread.o pngrio.o pngrtran.o pngrutil.o pngset.o \ 35 pngtrans.o pngwio.o pngwrite.o pngwtran.o pngwutil.o 36 37# Targets 38all: static 39 40# see scripts/pnglibconf.mak for more options 41pnglibconf.h: scripts/pnglibconf.h.prebuilt 42 cp scripts/pnglibconf.h.prebuilt $@ 43 44.c.o: 45 $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $< 46 47static: libpng.a pngtest$(EXEEXT) 48 49shared: 50 @echo This is a generic makefile that cannot create shared libraries. 51 @echo Please use a configuration that is specific to your platform. 52 @false 53 54libpng.a: $(OBJS) 55 $(AR_RC) $@ $(OBJS) 56 $(RANLIB) $@ 57 58test: pngtest$(EXEEXT) 59 ./pngtest$(EXEEXT) 60 61pngtest$(EXEEXT): pngtest.o libpng.a 62 $(LD) $(LDFLAGS) -L$(ZLIBLIB) -o $@ pngtest.o libpng.a $(LIBS) 63 64clean: 65 $(RM_F) *.o libpng.a pngtest$(EXEEXT) pngout.png pnglibconf.h 66 67png.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 68pngerror.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 69pngget.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 70pngmem.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 71pngpread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 72pngread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 73pngrio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 74pngrtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 75pngrutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 76pngset.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 77pngtrans.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 78pngwio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 79pngwrite.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 80pngwtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 81pngwutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 82 83pngtest.o: png.h pngconf.h pnglibconf.h 84