blob: 392878efc0ec161645eac901ea96205f6666262a [file] [log] [blame]
The Android Open Source Project893912b2009-03-03 19:30:05 -08001# makefile for libpng
xNombre232e9ca2020-07-03 22:10:22 +02002# Copyright (C) 2020 Cosmin Truta
Sireesh Tripurarib478e662014-05-09 15:15:10 +05303# Copyright (C) 2002, 2006, 2014 Glenn Randers-Pehrson
The Android Open Source Project893912b2009-03-03 19:30:05 -08004# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
Patrick Scott5f6bd842010-06-28 16:55:16 -04005#
Patrick Scotta0bb96c2009-07-22 11:50:02 -04006# This code is released under the libpng license.
7# For conditions of distribution and use, see the disclaimer
8# and license in png.h
The Android Open Source Project893912b2009-03-03 19:30:05 -08009
10# where make install puts libpng.a and png.h
11prefix=/usr/local
12INCPATH=$(prefix)/include
13LIBPATH=$(prefix)/lib
14
15# override DESTDIR= on the make install command line to easily support
16# installing into a temporary location. Example:
17#
18# make install DESTDIR=/tmp/build/libpng
19#
20# If you're going to install into a temporary location
21# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
22# you execute make install.
23DESTDIR=
24
25# Where the zlib library and include files are located
26#ZLIBLIB=/usr/local/lib
27#ZLIBINC=/usr/local/include
28ZLIBLIB=../zlib
29ZLIBINC=../zlib
30
31
32WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow -Wconversion \
33 -Wmissing-declarations -Wtraditional -Wcast-align \
34 -Wstrict-prototypes -Wmissing-prototypes
35
36CC=gcc
37AR_RC=ar rc
38MKDIR_P=mkdir -p
39LN_SF=ln -f -s
40RANLIB=ranlib
Matt Sarett9b1fe632015-11-25 10:21:17 -050041CP=cp
The Android Open Source Project893912b2009-03-03 19:30:05 -080042RM_F=/bin/rm -f
43
Sireesh Tripurarib478e662014-05-09 15:15:10 +053044CPPFLAGS=-I$(ZLIBINC) # -DPNG_DEBUG=5
45CFLAGS=-O # $(WARNMORE)
The Android Open Source Project893912b2009-03-03 19:30:05 -080046LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
47
Matt Sarett9b1fe632015-11-25 10:21:17 -050048# Pre-built configuration
49# See scripts/pnglibconf.mak for more options
50PNGLIBCONF_H_PREBUILT = scripts/pnglibconf.h.prebuilt
51
xNombre232e9ca2020-07-03 22:10:22 +020052OBJS = png.o pngerror.o pngget.o pngmem.o pngpread.o \
53 pngread.o pngrio.o pngrtran.o pngrutil.o pngset.o \
54 pngtrans.o pngwio.o pngwrite.o pngwtran.o pngwutil.o
The Android Open Source Project893912b2009-03-03 19:30:05 -080055
Sireesh Tripurarib478e662014-05-09 15:15:10 +053056.c.o:
57 $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
58
The Android Open Source Project893912b2009-03-03 19:30:05 -080059all: libpng.a pngtest
60
Matt Sarett9b1fe632015-11-25 10:21:17 -050061pnglibconf.h: $(PNGLIBCONF_H_PREBUILT)
62 $(CP) $(PNGLIBCONF_H_PREBUILT) $@
Chris Craikb50c2172013-07-29 15:28:30 -070063
The Android Open Source Project893912b2009-03-03 19:30:05 -080064libpng.a: $(OBJS)
65 $(AR_RC) $@ $(OBJS)
66 $(RANLIB) $@
67
68pngtest: pngtest.o libpng.a
69 $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
70
71test: pngtest
72 ./pngtest
73
74install: libpng.a
75 -@$(MKDIR_P) $(DESTDIR)$(INCPATH)
76 -@$(MKDIR_P) $(DESTDIR)$(INCPATH)/libpng
77 -@$(MKDIR_P) $(DESTDIR)$(LIBPATH)
78 -@$(RM_F) $(DESTDIR)$(INCPATH)/png.h
79 -@$(RM_F) $(DESTDIR)$(INCPATH)/pngconf.h
Chris Craikb50c2172013-07-29 15:28:30 -070080 -@$(RM_F) $(DESTDIR)$(INCPATH)/pnglibconf.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080081 cp png.h $(DESTDIR)$(INCPATH)/libpng
82 cp pngconf.h $(DESTDIR)$(INCPATH)/libpng
Chris Craikb50c2172013-07-29 15:28:30 -070083 cp pnglibconf.h $(DESTDIR)$(INCPATH)/libpng
The Android Open Source Project893912b2009-03-03 19:30:05 -080084 chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h
85 chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h
Chris Craikb50c2172013-07-29 15:28:30 -070086 chmod 644 $(DESTDIR)$(INCPATH)/libpng/pnglibconf.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080087 (cd $(DESTDIR)$(INCPATH); $(LN_SF) libpng/* .)
88 cp libpng.a $(DESTDIR)$(LIBPATH)
89 chmod 644 $(DESTDIR)$(LIBPATH)/libpng.a
90
91clean:
Chris Craikb50c2172013-07-29 15:28:30 -070092 $(RM_F) *.o libpng.a pngtest pngout.png pnglibconf.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080093
The Android Open Source Project893912b2009-03-03 19:30:05 -080094# DO NOT DELETE THIS LINE -- make depend depends on it.
95
xNombre232e9ca2020-07-03 22:10:22 +020096png.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
Sireesh Tripurarib478e662014-05-09 15:15:10 +053097pngerror.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
xNombre232e9ca2020-07-03 22:10:22 +020098pngget.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
99pngmem.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
100pngpread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
101pngread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
102pngrio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
Sireesh Tripurarib478e662014-05-09 15:15:10 +0530103pngrtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
104pngrutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
xNombre232e9ca2020-07-03 22:10:22 +0200105pngset.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
Sireesh Tripurarib478e662014-05-09 15:15:10 +0530106pngtrans.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
xNombre232e9ca2020-07-03 22:10:22 +0200107pngwio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
Sireesh Tripurarib478e662014-05-09 15:15:10 +0530108pngwrite.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
109pngwtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
110pngwutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -0800111
xNombre232e9ca2020-07-03 22:10:22 +0200112pngtest.o: png.h pngconf.h pnglibconf.h