1cb93a386Sopenharmony_ci# makefile for libpng.a and libpng16.so, SGI IRIX with 'cc'
2cb93a386Sopenharmony_ci# Copyright (C) 2001-2002, 2006, 2007, 2010-2014 Glenn Randers-Pehrson
3cb93a386Sopenharmony_ci# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
4cb93a386Sopenharmony_ci#
5cb93a386Sopenharmony_ci# This code is released under the libpng license.
6cb93a386Sopenharmony_ci# For conditions of distribution and use, see the disclaimer
7cb93a386Sopenharmony_ci# and license in png.h
8cb93a386Sopenharmony_ci
9cb93a386Sopenharmony_ci# Library name:
10cb93a386Sopenharmony_ciLIBNAME=libpng16
11cb93a386Sopenharmony_ciPNGMAJ = 16
12cb93a386Sopenharmony_ci
13cb93a386Sopenharmony_ci# Shared library names:
14cb93a386Sopenharmony_ciLIBSO=$(LIBNAME).so
15cb93a386Sopenharmony_ciLIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
16cb93a386Sopenharmony_ciLIBSOREL=$(LIBSOMAJ).$(RELEASE)
17cb93a386Sopenharmony_ciOLDSO=libpng.so
18cb93a386Sopenharmony_ci
19cb93a386Sopenharmony_ci# Utilities:
20cb93a386Sopenharmony_ciAR_RC=ar rc
21cb93a386Sopenharmony_ciCC=cc
22cb93a386Sopenharmony_ciMKDIR_P=mkdir -p
23cb93a386Sopenharmony_ciLN_SF=ln -sf
24cb93a386Sopenharmony_ciRANLIB=echo
25cb93a386Sopenharmony_ciCP=cp
26cb93a386Sopenharmony_ciRM_F=/bin/rm -f
27cb93a386Sopenharmony_ci
28cb93a386Sopenharmony_ci# Where make install puts libpng.a, libpng16.so, and libpng16/png.h
29cb93a386Sopenharmony_ci# Prefix must be a full pathname.
30cb93a386Sopenharmony_ci
31cb93a386Sopenharmony_ciprefix=/usr/local
32cb93a386Sopenharmony_ciexec_prefix=$(prefix)
33cb93a386Sopenharmony_ci
34cb93a386Sopenharmony_ci# Where the zlib library and include files are located
35cb93a386Sopenharmony_ci#ZLIBLIB=/usr/local/lib32
36cb93a386Sopenharmony_ci#ZLIBINC=/usr/local/include
37cb93a386Sopenharmony_ci#ZLIBLIB=/usr/local/lib
38cb93a386Sopenharmony_ci#ZLIBINC=/usr/local/include
39cb93a386Sopenharmony_ciZLIBLIB=../zlib
40cb93a386Sopenharmony_ciZLIBINC=../zlib
41cb93a386Sopenharmony_ci
42cb93a386Sopenharmony_ci# ABI can be blank to use default for your system, -32, -o32, -n32, or -64
43cb93a386Sopenharmony_ci# See "man abi".  zlib must be built with the same ABI.
44cb93a386Sopenharmony_ciABI=
45cb93a386Sopenharmony_ci
46cb93a386Sopenharmony_ciWARNMORE=-fullwarn
47cb93a386Sopenharmony_ci# Note: -KPIC is the default anyhow
48cb93a386Sopenharmony_ciCPPFLAGS=-I$(ZLIBINC) # -DPNG_DEBUG=5
49cb93a386Sopenharmony_ci#CFLAGS= $(ABI) -O $(WARNMORE) -KPIC # -g
50cb93a386Sopenharmony_ciCFLAGS=$(ABI) -O $(WARNMORE)
51cb93a386Sopenharmony_ciLDFLAGS_A=$(ABI) -L. -L$(ZLIBLIB) -lpng16 -lz -lm
52cb93a386Sopenharmony_ciLDFLAGS=$(ABI) -L. -L$(ZLIBLIB) -lpng -lz -lm
53cb93a386Sopenharmony_ciLDSHARED=cc $(ABI) -shared -soname $(LIBSOMAJ) \
54cb93a386Sopenharmony_ci	-set_version sgi$(PNGMAJ).0
55cb93a386Sopenharmony_ci# See "man dso" for info about shared objects
56cb93a386Sopenharmony_ci
57cb93a386Sopenharmony_ciINCPATH=$(prefix)/include
58cb93a386Sopenharmony_ciLIBPATH=$(exec_prefix)/lib
59cb93a386Sopenharmony_ci#LIBPATH=$(exec_prefix)/lib32
60cb93a386Sopenharmony_ciMANPATH=$(prefix)/man
61cb93a386Sopenharmony_ciBINPATH=$(exec_prefix)/bin
62cb93a386Sopenharmony_ci
63cb93a386Sopenharmony_ci# override DESTDIR= on the make install command line to easily support
64cb93a386Sopenharmony_ci# installing into a temporary location.  Example:
65cb93a386Sopenharmony_ci#
66cb93a386Sopenharmony_ci#    make install DESTDIR=/tmp/build/libpng
67cb93a386Sopenharmony_ci#
68cb93a386Sopenharmony_ci# If you're going to install into a temporary location
69cb93a386Sopenharmony_ci# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
70cb93a386Sopenharmony_ci# you execute make install.
71cb93a386Sopenharmony_ciDESTDIR=
72cb93a386Sopenharmony_ci
73cb93a386Sopenharmony_ciDB=$(DESTDIR)$(BINPATH)
74cb93a386Sopenharmony_ciDI=$(DESTDIR)$(INCPATH)
75cb93a386Sopenharmony_ciDL=$(DESTDIR)$(LIBPATH)
76cb93a386Sopenharmony_ciDM=$(DESTDIR)$(MANPATH)
77cb93a386Sopenharmony_ci
78cb93a386Sopenharmony_ci# Pre-built configuration
79cb93a386Sopenharmony_ci# See scripts/pnglibconf.mak for more options
80cb93a386Sopenharmony_ciPNGLIBCONF_H_PREBUILT = scripts/pnglibconf.h.prebuilt
81cb93a386Sopenharmony_ci
82cb93a386Sopenharmony_ciOBJS =  png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
83cb93a386Sopenharmony_ci	pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
84cb93a386Sopenharmony_ci	pngwtran.o pngmem.o pngerror.o pngpread.o
85cb93a386Sopenharmony_ci
86cb93a386Sopenharmony_ci.c.o:
87cb93a386Sopenharmony_ci	$(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
88cb93a386Sopenharmony_ci
89cb93a386Sopenharmony_ciall: libpng.a pngtest shared libpng.pc libpng-config
90cb93a386Sopenharmony_ci
91cb93a386Sopenharmony_cipnglibconf.h: $(PNGLIBCONF_H_PREBUILT)
92cb93a386Sopenharmony_ci	$(CP) $(PNGLIBCONF_H_PREBUILT) $@
93cb93a386Sopenharmony_ci
94cb93a386Sopenharmony_cilibpng.a: $(OBJS)
95cb93a386Sopenharmony_ci	$(AR_RC) $@ $(OBJS)
96cb93a386Sopenharmony_ci	$(RANLIB) $@
97cb93a386Sopenharmony_ci
98cb93a386Sopenharmony_cilibpng.pc:
99cb93a386Sopenharmony_ci	cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
100cb93a386Sopenharmony_ci	-e s!@exec_prefix@!$(exec_prefix)! \
101cb93a386Sopenharmony_ci	-e s!@libdir@!$(LIBPATH)! \
102cb93a386Sopenharmony_ci	-e s!@includedir@!$(INCPATH)! \
103cb93a386Sopenharmony_ci	-e s!-lpng16!-lpng16\ -lz\ -lm! > libpng.pc
104cb93a386Sopenharmony_ci
105cb93a386Sopenharmony_cilibpng-config:
106cb93a386Sopenharmony_ci	( cat scripts/libpng-config-head.in; \
107cb93a386Sopenharmony_ci	echo prefix=\"$(prefix)\"; \
108cb93a386Sopenharmony_ci	echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
109cb93a386Sopenharmony_ci	echo ccopts=\"$(ABI)\"; \
110cb93a386Sopenharmony_ci	echo ldopts=\"$(ABI)\"; \
111cb93a386Sopenharmony_ci	echo L_opts=\"-L$(LIBPATH)\"; \
112cb93a386Sopenharmony_ci	echo libdir=\"$(LIBPATH)\"; \
113cb93a386Sopenharmony_ci	echo libs=\"-lpng16 -lz -lm\"; \
114cb93a386Sopenharmony_ci	cat scripts/libpng-config-body.in ) > libpng-config
115cb93a386Sopenharmony_ci	chmod +x libpng-config
116cb93a386Sopenharmony_ci
117cb93a386Sopenharmony_ci$(LIBSO): $(LIBSOMAJ)
118cb93a386Sopenharmony_ci	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
119cb93a386Sopenharmony_ci
120cb93a386Sopenharmony_ci$(LIBSOMAJ): $(OBJS)
121cb93a386Sopenharmony_ci	$(LDSHARED) -o $@ $(OBJS)
122cb93a386Sopenharmony_ci	$(RM_F) $(LIBSO) $(LIBSOMAJ)
123cb93a386Sopenharmony_ci
124cb93a386Sopenharmony_cipngtest: pngtest.o libpng.a
125cb93a386Sopenharmony_ci	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
126cb93a386Sopenharmony_ci
127cb93a386Sopenharmony_citest: pngtest
128cb93a386Sopenharmony_ci	echo
129cb93a386Sopenharmony_ci	echo Testing local static library.
130cb93a386Sopenharmony_ci	./pngtest
131cb93a386Sopenharmony_ci
132cb93a386Sopenharmony_ciinstall-headers: png.h pngconf.h pnglibconf.h
133cb93a386Sopenharmony_ci	-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
134cb93a386Sopenharmony_ci	-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
135cb93a386Sopenharmony_ci	cp png.h pngconf.h pnglibconf.h $(DI)/$(LIBNAME)
136cb93a386Sopenharmony_ci	chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h $(DI)/$(LIBNAME)/pnglibconf.h
137cb93a386Sopenharmony_ci	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pnglibconf.h
138cb93a386Sopenharmony_ci	-@$(RM_F) $(DI)/libpng
139cb93a386Sopenharmony_ci	(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
140cb93a386Sopenharmony_ci
141cb93a386Sopenharmony_ciinstall-static: install-headers libpng.a
142cb93a386Sopenharmony_ci	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
143cb93a386Sopenharmony_ci	cp libpng.a $(DL)/$(LIBNAME).a
144cb93a386Sopenharmony_ci	chmod 644 $(DL)/$(LIBNAME).a
145cb93a386Sopenharmony_ci	-@$(RM_F) $(DL)/libpng.a
146cb93a386Sopenharmony_ci	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
147cb93a386Sopenharmony_ci
148cb93a386Sopenharmony_ciinstall-shared: install-headers $(LIBSOMAJ) libpng.pc
149cb93a386Sopenharmony_ci	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
150cb93a386Sopenharmony_ci	-@$(RM_F) $(DL)/$(LIBSO)
151cb93a386Sopenharmony_ci	-@$(RM_F) $(DL)/$(LIBSOREL)
152cb93a386Sopenharmony_ci	-@$(RM_F) $(DL)/$(OLDSO)
153cb93a386Sopenharmony_ci	cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
154cb93a386Sopenharmony_ci	chmod 755 $(DL)/$(LIBSOREL)
155cb93a386Sopenharmony_ci	(cd $(DL); \
156cb93a386Sopenharmony_ci	$(LN_SF) $(LIBSOREL) $(LIBSO); \
157cb93a386Sopenharmony_ci	$(LN_SF) $(LIBSO) $(OLDSO))
158cb93a386Sopenharmony_ci	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
159cb93a386Sopenharmony_ci	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
160cb93a386Sopenharmony_ci	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
161cb93a386Sopenharmony_ci	cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
162cb93a386Sopenharmony_ci	chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc
163cb93a386Sopenharmony_ci	(cd $(DL)/pkgconfig; $(LN_SF) $(LIBNAME).pc libpng.pc)
164cb93a386Sopenharmony_ci
165cb93a386Sopenharmony_ciinstall-man: libpng.3 libpngpf.3 png.5
166cb93a386Sopenharmony_ci	-@if [ ! -d $(DM) ]; then $(MKDIR_P) $(DM); fi
167cb93a386Sopenharmony_ci	-@if [ ! -d $(DM)/man3 ]; then $(MKDIR_P) $(DM)/man3; fi
168cb93a386Sopenharmony_ci	-@$(RM_F) $(DM)/man3/libpng.3
169cb93a386Sopenharmony_ci	-@$(RM_F) $(DM)/man3/libpngpf.3
170cb93a386Sopenharmony_ci	cp libpng.3 $(DM)/man3
171cb93a386Sopenharmony_ci	cp libpngpf.3 $(DM)/man3
172cb93a386Sopenharmony_ci	-@if [ ! -d $(DM)/man5 ]; then $(MKDIR_P) $(DM)/man5; fi
173cb93a386Sopenharmony_ci	-@$(RM_F) $(DM)/man5/png.5
174cb93a386Sopenharmony_ci	cp png.5 $(DM)/man5
175cb93a386Sopenharmony_ci
176cb93a386Sopenharmony_ciinstall-config: libpng-config
177cb93a386Sopenharmony_ci	-@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi
178cb93a386Sopenharmony_ci	-@$(RM_F) $(DB)/libpng-config
179cb93a386Sopenharmony_ci	-@$(RM_F) $(DB)/$(LIBNAME)-config
180cb93a386Sopenharmony_ci	cp libpng-config $(DB)/$(LIBNAME)-config
181cb93a386Sopenharmony_ci	chmod 755 $(DB)/$(LIBNAME)-config
182cb93a386Sopenharmony_ci	(cd $(DB); $(LN_SF) $(LIBNAME)-config libpng-config)
183cb93a386Sopenharmony_ci
184cb93a386Sopenharmony_ciinstall: install-static install-shared install-man install-config
185cb93a386Sopenharmony_ci
186cb93a386Sopenharmony_ci# If you installed in $(DESTDIR), test-installed won't work until you
187cb93a386Sopenharmony_ci# move the library to its final location.  Use test-dd to test it
188cb93a386Sopenharmony_ci# before then.
189cb93a386Sopenharmony_ci
190cb93a386Sopenharmony_citest-dd:
191cb93a386Sopenharmony_ci	echo
192cb93a386Sopenharmony_ci	echo Testing installed dynamic shared library in $(DL).
193cb93a386Sopenharmony_ci	$(CC) -I$(DI) $(CPPFLAGS) \
194cb93a386Sopenharmony_ci	   `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
195cb93a386Sopenharmony_ci	   -L$(DL) -L$(ZLIBLIB) \
196cb93a386Sopenharmony_ci	   -rpath $(ZLIBLIB):$(DL) \
197cb93a386Sopenharmony_ci	   -o pngtestd `$(BINPATH)/$(LIBNAME)-config --ldflags`
198cb93a386Sopenharmony_ci	./pngtestd pngtest.png
199cb93a386Sopenharmony_ci
200cb93a386Sopenharmony_citest-installed:
201cb93a386Sopenharmony_ci	echo
202cb93a386Sopenharmony_ci	echo Testing installed dynamic shared library.
203cb93a386Sopenharmony_ci	$(CC) $(CPPFLAGS) \
204cb93a386Sopenharmony_ci	   `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
205cb93a386Sopenharmony_ci	   -L$(ZLIBLIB) \
206cb93a386Sopenharmony_ci	   -rpath $(ZLIBLIB):`$(BINPATH)/$(LIBNAME)-config --libdir` \
207cb93a386Sopenharmony_ci	   -o pngtesti `$(BINPATH)/$(LIBNAME)-config --ldflags`
208cb93a386Sopenharmony_ci	./pngtesti pngtest.png
209cb93a386Sopenharmony_ci
210cb93a386Sopenharmony_ciclean:
211cb93a386Sopenharmony_ci	$(RM_F) *.o libpng.a pngtest pngtesti pngout.png libpng.pc libpng-config \
212cb93a386Sopenharmony_ci	$(LIBSO) $(LIBSOMAJ)* \
213cb93a386Sopenharmony_ci	so_locations pnglibconf.h
214cb93a386Sopenharmony_ci
215cb93a386Sopenharmony_ciDOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO
216cb93a386Sopenharmony_ciwritelock:
217cb93a386Sopenharmony_ci	chmod a-w *.[ch35] $(DOCS) scripts/*
218cb93a386Sopenharmony_ci
219cb93a386Sopenharmony_ci# DO NOT DELETE THIS LINE -- make depend depends on it.
220cb93a386Sopenharmony_ci
221cb93a386Sopenharmony_cipng.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
222cb93a386Sopenharmony_cipngerror.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
223cb93a386Sopenharmony_cipngrio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
224cb93a386Sopenharmony_cipngwio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
225cb93a386Sopenharmony_cipngmem.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
226cb93a386Sopenharmony_cipngset.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
227cb93a386Sopenharmony_cipngget.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
228cb93a386Sopenharmony_cipngread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
229cb93a386Sopenharmony_cipngrtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
230cb93a386Sopenharmony_cipngrutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
231cb93a386Sopenharmony_cipngtrans.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
232cb93a386Sopenharmony_cipngwrite.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
233cb93a386Sopenharmony_cipngwtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
234cb93a386Sopenharmony_cipngwutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
235cb93a386Sopenharmony_cipngpread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
236cb93a386Sopenharmony_ci
237cb93a386Sopenharmony_cipngtest.o: png.h pngconf.h pnglibconf.h
238