• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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