blob: 5633608c8b8f2305616d47daa4956373fa91d9b6 [file] [log] [blame]
The Android Open Source Project893912b2009-03-03 19:30:05 -08001# makefile for libpng
Sireesh Tripurarib478e662014-05-09 15:15:10 +05302# Copyright (C) 1998-2014 Glenn Randers-Pehrson
The Android Open Source Project893912b2009-03-03 19:30:05 -08003# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
Patrick Scott5f6bd842010-06-28 16:55:16 -04004#
Patrick Scotta0bb96c2009-07-22 11:50:02 -04005# This code is released under the libpng license.
6# For conditions of distribution and use, see the disclaimer
7# and license in png.h
The Android Open Source Project893912b2009-03-03 19:30:05 -08008
9# where make install puts libpng.a and png.h
10prefix=/usr/local
11INCPATH=$(prefix)/include
12LIBPATH=$(prefix)/lib
13
14# override DESTDIR= on the make install command line to easily support
15# installing into a temporary location. Example:
16#
17# make install DESTDIR=/tmp/build/libpng
18#
19# If you're going to install into a temporary location
20# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
21# you execute make install.
22DESTDIR=
23
24CC=cc
Sireesh Tripurarib478e662014-05-09 15:15:10 +053025CPPFLAGS=-I../zlib -DSYSV -Dmips
26CFLAGS=-O -systype sysv -w
The Android Open Source Project893912b2009-03-03 19:30:05 -080027#CFLAGS=-O
28LDFLAGS=-L. -L../zlib/ -lpng -lz -lm
29
30#RANLIB=ranlib
31RANLIB=echo
32
Matt Sarett9ea75692016-01-08 13:00:42 -050033CP=cp
34
35# Pre-built configuration
36# See scripts/pnglibconf.mak for more options
37PNGLIBCONF_H_PREBUILT = scripts/pnglibconf.h.prebuilt
38
The Android Open Source Project893912b2009-03-03 19:30:05 -080039OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
40 pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
41 pngwtran.o pngmem.o pngerror.o pngpread.o
42
Sireesh Tripurarib478e662014-05-09 15:15:10 +053043.c.o:
44 $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
45
The Android Open Source Project893912b2009-03-03 19:30:05 -080046all: libpng.a pngtest
47
Matt Sarett9ea75692016-01-08 13:00:42 -050048pnglibconf.h: $(PNGLIBCONF_H_PREBUILT)
49 $(CP) $(PNGLIBCONF_H_PREBUILT) $@
Chris Craikb50c2172013-07-29 15:28:30 -070050
The Android Open Source Project893912b2009-03-03 19:30:05 -080051libpng.a: $(OBJS)
52 ar rc $@ $(OBJS)
53 $(RANLIB) $@
54
55pngtest: pngtest.o libpng.a
56 $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
57
58test: pngtest
59 ./pngtest
60
61install: libpng.a
62 -@mkdir $(DESTDIR)$(INCPATH)
63 -@mkdir $(DESTDIR)$(INCPATH)/libpng
64 -@mkdir $(DESTDIR)$(LIBPATH)
65 -@rm -f $(DESTDIR)$(INCPATH)/png.h
66 -@rm -f $(DESTDIR)$(INCPATH)/pngconf.h
Chris Craikb50c2172013-07-29 15:28:30 -070067 -@rm -f $(DESTDIR)$(INCPATH)/pnglibconf.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080068 cp png.h $(DESTDIR)$(INCPATH)/libpng
69 cp pngconf.h $(DESTDIR)$(INCPATH)/libpng
Chris Craikb50c2172013-07-29 15:28:30 -070070 cp pnglibconf.h $(DESTDIR)$(INCPATH)/libpng
The Android Open Source Project893912b2009-03-03 19:30:05 -080071 chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h
72 chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h
Chris Craikb50c2172013-07-29 15:28:30 -070073 chmod 644 $(DESTDIR)$(INCPATH)/libpng/pnglibconf.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080074 (cd $(DESTDIR)$(INCPATH); ln -f -s libpng/* .)
75 cp libpng.a $(DESTDIR)$(LIBPATH)
76 chmod 644 $(DESTDIR)$(LIBPATH)/libpng.a
77
78clean:
Chris Craikb50c2172013-07-29 15:28:30 -070079 rm -f *.o libpng.a pngtest pngout.png pnglibconf.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080080
81DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
82writelock:
83 chmod a-w *.[ch35] $(DOCS) scripts/*
84
85# DO NOT DELETE THIS LINE -- make depend depends on it.
86
Sireesh Tripurarib478e662014-05-09 15:15:10 +053087png.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
88pngerror.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
89pngrio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
90pngwio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
91pngmem.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
92pngset.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
93pngget.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
94pngread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
95pngpread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
96pngrtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
97pngrutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
98pngtrans.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
99pngwrite.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
100pngwtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
101pngwutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
Patrick Scotta0bb96c2009-07-22 11:50:02 -0400102
Chris Craikb50c2172013-07-29 15:28:30 -0700103pngtest.o: png.h pngconf.h pnglibconf.h