1# makefile for libpng using gcc (generic, static library) 2# Copyright (C) 2000, 2022 Cosmin Truta 3# Copyright (C) 2002, 2006-2009, 2014 Glenn Randers-Pehrson 4# Copyright (C) 2000 Marc O. Gloor (AIX support added, from makefile.gcc) 5# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc. 6# 7# This code is released under the libpng license. 8# For conditions of distribution and use, see the disclaimer 9# and license in png.h 10 11# Location of the zlib library and include files 12ZLIBINC = ../zlib 13ZLIBLIB = ../zlib 14 15# Compiler, linker, lib and other tools 16CC = gcc 17LD = $(CC) 18AR_RC = ar rcs 19RANLIB = ranlib 20MKDIR_P = mkdir -p 21RM_F = rm -f 22 23LIBNAME = libpng16 24PNGMAJ = 16 25 26WARNMORE = 27CPPFLAGS = -I$(ZLIBINC) # -DPNG_DEBUG=5 28CFLAGS = -O2 -Wall -Wextra -Wundef # $(WARNMORE) -g 29LDFLAGS = -L. -L$(ZLIBLIB) -lpng16 -lz -lm # -g 30 31# File lists 32OBJS = png.o pngerror.o pngget.o pngmem.o pngpread.o \ 33 pngread.o pngrio.o pngrtran.o pngrutil.o pngset.o \ 34 pngtrans.o pngwio.o pngwrite.o pngwtran.o pngwutil.o 35 36# Targets 37.c.o: 38 $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $< 39 40all: $(LIBNAME).a pngtest 41 42include scripts/pnglibconf.mak 43REMOVE = $(RM_F) 44DFNFLAGS = $(DEFS) $(CPPFLAGS) 45 46$(LIBNAME).a: $(OBJS) 47 $(AR_RC) $@ $(OBJS) 48 $(RANLIB) $@ 49 50test: pngtest 51 ./pngtest 52 53pngtest: pngtest.o $(LIBNAME).a 54 $(LD) -o $@ pngtest.o $(LDFLAGS) 55 56install: 57 @echo "The $@ target is no longer supported by this makefile." 58 @false 59 60clean: 61 $(RM_F) *.o $(LIBNAME).a pngtest pngout.png pnglibconf.h 62 63png.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 64pngerror.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 65pngget.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 66pngmem.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 67pngpread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 68pngread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 69pngrio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 70pngrtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 71pngrutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 72pngset.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 73pngtrans.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 74pngwio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 75pngwrite.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 76pngwtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 77pngwutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 78 79pngtest.o: png.h pngconf.h pnglibconf.h 80