1cb93a386Sopenharmony_ci# makefile for libpng on HP-UX using GCC with the HP ANSI/C linker.
2cb93a386Sopenharmony_ci# Copyright (C) 2002, 2006-2008, 2010-2014 Glenn Randers-Pehrson
3cb93a386Sopenharmony_ci# Copyright (C) 2001, Laurent faillie
4cb93a386Sopenharmony_ci# Copyright (C) 1998, 1999 Greg Roelofs
5cb93a386Sopenharmony_ci# Copyright (C) 1996, 1997 Andreas Dilger
6cb93a386Sopenharmony_ci#
7cb93a386Sopenharmony_ci# This code is released under the libpng license.
8cb93a386Sopenharmony_ci# For conditions of distribution and use, see the disclaimer
9cb93a386Sopenharmony_ci# and license in png.h
10cb93a386Sopenharmony_ci
11cb93a386Sopenharmony_ci# Library name:
12cb93a386Sopenharmony_ciLIBNAME = libpng16
13cb93a386Sopenharmony_ciPNGMAJ = 16
14cb93a386Sopenharmony_ci
15cb93a386Sopenharmony_ci# Shared library names:
16cb93a386Sopenharmony_ciLIBSO=$(LIBNAME).sl
17cb93a386Sopenharmony_ciLIBSOMAJ=$(LIBNAME).sl.$(PNGMAJ)
18cb93a386Sopenharmony_ciLIBSOREL=$(LIBSOMAJ).$(RELEASE)
19cb93a386Sopenharmony_ciOLDSO=libpng.sl
20cb93a386Sopenharmony_ci
21cb93a386Sopenharmony_ci# Utilities:
22cb93a386Sopenharmony_ciCC=gcc
23cb93a386Sopenharmony_ciLD=ld
24cb93a386Sopenharmony_ciAR_RC=ar rc
25cb93a386Sopenharmony_ciMKDIR_P=mkdir -p
26cb93a386Sopenharmony_ciLN_SF=ln -sf
27cb93a386Sopenharmony_ciRANLIB=ranlib
28cb93a386Sopenharmony_ciCP=cp
29cb93a386Sopenharmony_ciRM_F=/bin/rm -f
30cb93a386Sopenharmony_ci
31cb93a386Sopenharmony_ci# where "make install" puts libpng.a, $(OLDSO)*, png.h, pngconf.h
32cb93a386Sopenharmony_ci# and pnglibconf.h
33cb93a386Sopenharmony_ciprefix=/usr/local
34cb93a386Sopenharmony_ciexec_prefix=$(prefix)
35cb93a386Sopenharmony_ci
36cb93a386Sopenharmony_ci# Where the zlib library and include files are located
37cb93a386Sopenharmony_ciZLIBLIB=/opt/zlib/lib
38cb93a386Sopenharmony_ciZLIBINC=/opt/zlib/include
39cb93a386Sopenharmony_ci
40cb93a386Sopenharmony_ci# Note that if you plan to build a libpng shared library, zlib must also
41cb93a386Sopenharmony_ci# be a shared library, which zlib's configure does not do.  After running
42cb93a386Sopenharmony_ci# zlib's configure, edit the appropriate lines of makefile to read:
43cb93a386Sopenharmony_ci#   CFLAGS=-O1 -DHAVE_UNISTD -DUSE_MAP -fPIC \
44cb93a386Sopenharmony_ci#   LDSHARED=ld -b
45cb93a386Sopenharmony_ci#   SHAREDLIB=libz.sl
46cb93a386Sopenharmony_ci
47cb93a386Sopenharmony_ciALIGN=
48cb93a386Sopenharmony_ci# for i386:
49cb93a386Sopenharmony_ci#ALIGN=-malign-loops=2 -malign-functions=2
50cb93a386Sopenharmony_ci
51cb93a386Sopenharmony_ciWARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
52cb93a386Sopenharmony_ci	-Wmissing-declarations -Wtraditional -Wcast-align \
53cb93a386Sopenharmony_ci	-Wstrict-prototypes -Wmissing-prototypes #-Wconversion
54cb93a386Sopenharmony_ci
55cb93a386Sopenharmony_ci# for pgcc version 2.95.1, -O3 is buggy; don't use it.
56cb93a386Sopenharmony_ci
57cb93a386Sopenharmony_ciCPPFLAGS=-I$(ZLIBINC) # -DPNG_DEBUG=5
58cb93a386Sopenharmony_ciCFLAGS=-W -Wall -O3 -funroll-loops $(ALIGN) # $(WARNMORE) -g
59cb93a386Sopenharmony_ci#LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng16 -lz -lm
60cb93a386Sopenharmony_ciLDFLAGS=-L. -L$(ZLIBLIB) -lpng16 -lz -lm
61cb93a386Sopenharmony_ci
62cb93a386Sopenharmony_ciINCPATH=$(prefix)/include
63cb93a386Sopenharmony_ciLIBPATH=$(exec_prefix)/lib
64cb93a386Sopenharmony_ciMANPATH=$(prefix)/man
65cb93a386Sopenharmony_ciBINPATH=$(exec_prefix)/bin
66cb93a386Sopenharmony_ci
67cb93a386Sopenharmony_ci# override DESTDIR= on the make install command line to easily support
68cb93a386Sopenharmony_ci# installing into a temporary location.  Example:
69cb93a386Sopenharmony_ci#
70cb93a386Sopenharmony_ci#    make install DESTDIR=/tmp/build/libpng
71cb93a386Sopenharmony_ci#
72cb93a386Sopenharmony_ci# If you're going to install into a temporary location
73cb93a386Sopenharmony_ci# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
74cb93a386Sopenharmony_ci# you execute make install.
75cb93a386Sopenharmony_ciDESTDIR=
76cb93a386Sopenharmony_ci
77cb93a386Sopenharmony_ciDB=$(DESTDIR)$(BINPATH)
78cb93a386Sopenharmony_ciDI=$(DESTDIR)$(INCPATH)
79cb93a386Sopenharmony_ciDL=$(DESTDIR)$(LIBPATH)
80cb93a386Sopenharmony_ciDM=$(DESTDIR)$(MANPATH)
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_ciOBJSDLL = $(OBJS:.o=.pic.o)
87cb93a386Sopenharmony_ci
88cb93a386Sopenharmony_ci.SUFFIXES:      .c .o .pic.o
89cb93a386Sopenharmony_ci
90cb93a386Sopenharmony_ci.c.o:
91cb93a386Sopenharmony_ci	$(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
92cb93a386Sopenharmony_ci
93cb93a386Sopenharmony_ci.c.pic.o:
94cb93a386Sopenharmony_ci	$(CC) -c $(CPPFLAGS) $(CFLAGS) -fPIC -o $@ $*.c
95cb93a386Sopenharmony_ci
96cb93a386Sopenharmony_ciall: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
97cb93a386Sopenharmony_ci
98cb93a386Sopenharmony_cilibpng.a: $(OBJS)
99cb93a386Sopenharmony_ci	$(AR_RC) $@ $(OBJS)
100cb93a386Sopenharmony_ci	$(RANLIB) $@
101cb93a386Sopenharmony_ci
102cb93a386Sopenharmony_cilibpng.pc:
103cb93a386Sopenharmony_ci	cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
104cb93a386Sopenharmony_ci	-e s!@exec_prefix@!$(exec_prefix)! \
105cb93a386Sopenharmony_ci	-e s!@libdir@!$(LIBPATH)! \
106cb93a386Sopenharmony_ci	-e s!@includedir@!$(INCPATH)! \
107cb93a386Sopenharmony_ci	-e s!-lpng16!-lpng16\ -lz\ -lm! > libpng.pc
108cb93a386Sopenharmony_ci
109cb93a386Sopenharmony_cilibpng-config:
110cb93a386Sopenharmony_ci	( cat scripts/libpng-config-head.in; \
111cb93a386Sopenharmony_ci	echo prefix=\"$(prefix)\"; \
112cb93a386Sopenharmony_ci	echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
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): $(OBJSDLL)
121cb93a386Sopenharmony_ci	$(LD) -b +s \
122cb93a386Sopenharmony_ci	+h $(LIBSOMAJ) -o $(LIBSOMAJ) $(OBJSDLL)
123cb93a386Sopenharmony_ci
124cb93a386Sopenharmony_cipngtest: pngtest.o $(LIBSO)
125cb93a386Sopenharmony_ci	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
126cb93a386Sopenharmony_ci
127cb93a386Sopenharmony_citest: pngtest
128cb93a386Sopenharmony_ci	./pngtest
129cb93a386Sopenharmony_ci
130cb93a386Sopenharmony_ci
131cb93a386Sopenharmony_ciinstall-headers: png.h pngconf.h pnglibconf.h
132cb93a386Sopenharmony_ci	-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
133cb93a386Sopenharmony_ci	-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
134cb93a386Sopenharmony_ci	cp png.h pngconf.h pnglibconf.h $(DI)/$(LIBNAME)
135cb93a386Sopenharmony_ci	chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h $(DI)/$(LIBNAME)/pnglibconf.h
136cb93a386Sopenharmony_ci	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pnglibconf.h
137cb93a386Sopenharmony_ci	-@$(RM_F) $(DI)/libpng
138cb93a386Sopenharmony_ci	(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
139cb93a386Sopenharmony_ci
140cb93a386Sopenharmony_ciinstall-static: install-headers libpng.a
141cb93a386Sopenharmony_ci	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
142cb93a386Sopenharmony_ci	cp libpng.a $(DL)/$(LIBNAME).a
143cb93a386Sopenharmony_ci	chmod 644 $(DL)/$(LIBNAME).a
144cb93a386Sopenharmony_ci	-@$(RM_F) $(DL)/libpng.a
145cb93a386Sopenharmony_ci	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
146cb93a386Sopenharmony_ci
147cb93a386Sopenharmony_ciinstall-shared: install-headers $(LIBSOMAJ) libpng.pc
148cb93a386Sopenharmony_ci	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
149cb93a386Sopenharmony_ci	-@$(RM_F) $(DL)/$(LIBSO)
150cb93a386Sopenharmony_ci	-@$(RM_F) $(DL)/$(LIBSOREL)
151cb93a386Sopenharmony_ci	-@$(RM_F) $(DL)/$(OLDSO)
152cb93a386Sopenharmony_ci	cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
153cb93a386Sopenharmony_ci	chmod 755 $(DL)/$(LIBSOREL)
154cb93a386Sopenharmony_ci	(cd $(DL); \
155cb93a386Sopenharmony_ci	$(LN_SF) $(LIBSOREL) $(LIBSO); \
156cb93a386Sopenharmony_ci	$(LN_SF) $(LIBSO) $(OLDSO))
157cb93a386Sopenharmony_ci	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
158cb93a386Sopenharmony_ci	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
159cb93a386Sopenharmony_ci	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
160cb93a386Sopenharmony_ci	cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
161cb93a386Sopenharmony_ci	chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc
162cb93a386Sopenharmony_ci	(cd $(DL)/pkgconfig; $(LN_SF) $(LIBNAME).pc libpng.pc)
163cb93a386Sopenharmony_ci
164cb93a386Sopenharmony_ciinstall-man: libpng.3 libpngpf.3 png.5
165cb93a386Sopenharmony_ci	-@if [ ! -d $(DM) ]; then $(MKDIR_P) $(DM); fi
166cb93a386Sopenharmony_ci	-@if [ ! -d $(DM)/man3 ]; then $(MKDIR_P) $(DM)/man3; fi
167cb93a386Sopenharmony_ci	-@$(RM_F) $(DM)/man3/libpng.3
168cb93a386Sopenharmony_ci	-@$(RM_F) $(DM)/man3/libpngpf.3
169cb93a386Sopenharmony_ci	cp libpng.3 $(DM)/man3
170cb93a386Sopenharmony_ci	cp libpngpf.3 $(DM)/man3
171cb93a386Sopenharmony_ci	-@if [ ! -d $(DM)/man5 ]; then $(MKDIR_P) $(DM)/man5; fi
172cb93a386Sopenharmony_ci	-@$(RM_F) $(DM)/man5/png.5
173cb93a386Sopenharmony_ci	cp png.5 $(DM)/man5
174cb93a386Sopenharmony_ci
175cb93a386Sopenharmony_ciinstall-config: libpng-config
176cb93a386Sopenharmony_ci	-@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi
177cb93a386Sopenharmony_ci	-@$(RM_F) $(DB)/libpng-config
178cb93a386Sopenharmony_ci	-@$(RM_F) $(DB)/$(LIBNAME)-config
179cb93a386Sopenharmony_ci	cp libpng-config $(DB)/$(LIBNAME)-config
180cb93a386Sopenharmony_ci	chmod 755 $(DB)/$(LIBNAME)-config
181cb93a386Sopenharmony_ci	(cd $(DB); $(LN_SF) $(LIBNAME)-config libpng-config)
182cb93a386Sopenharmony_ci
183cb93a386Sopenharmony_ciinstall: install-static install-shared install-man install-config
184cb93a386Sopenharmony_ci
185cb93a386Sopenharmony_ci# If you installed in $(DESTDIR), test-installed won't work until you
186cb93a386Sopenharmony_ci# move the library to its final location.  Use test-dd to test it
187cb93a386Sopenharmony_ci# before then.
188cb93a386Sopenharmony_ci
189cb93a386Sopenharmony_citest-dd:
190cb93a386Sopenharmony_ci	echo
191cb93a386Sopenharmony_ci	echo Testing installed dynamic shared library in $(DL).
192cb93a386Sopenharmony_ci	$(CC) -I$(DI) $(CPPFLAGS) \
193cb93a386Sopenharmony_ci	   `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
194cb93a386Sopenharmony_ci	   -L$(DL) -L$(ZLIBLIB) -Wl,-rpath,$(DL) -Wl,-rpath,$(ZLIBLIB) \
195cb93a386Sopenharmony_ci	   -o pngtestd `$(BINPATH)/$(LIBNAME)-config --ldflags`
196cb93a386Sopenharmony_ci	./pngtestd pngtest.png
197cb93a386Sopenharmony_ci
198cb93a386Sopenharmony_citest-installed:
199cb93a386Sopenharmony_ci	echo
200cb93a386Sopenharmony_ci	echo Testing installed dynamic shared library.
201cb93a386Sopenharmony_ci	$(CC) $(CPPFLAGS) \
202cb93a386Sopenharmony_ci	   `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
203cb93a386Sopenharmony_ci	   -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) \
204cb93a386Sopenharmony_ci	   -o pngtesti `$(BINPATH)/$(LIBNAME)-config --ldflags`
205cb93a386Sopenharmony_ci	./pngtesti pngtest.png
206cb93a386Sopenharmony_ci
207cb93a386Sopenharmony_ciclean:
208cb93a386Sopenharmony_ci	$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
209cb93a386Sopenharmony_ci	libpng-config $(LIBSO) $(LIBSOMAJ)* \
210cb93a386Sopenharmony_ci	libpng.pc pnglibconf.h
211cb93a386Sopenharmony_ci
212cb93a386Sopenharmony_ciDOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO
213cb93a386Sopenharmony_ciwritelock:
214cb93a386Sopenharmony_ci	chmod a-w *.[ch35] $(DOCS) scripts/*
215cb93a386Sopenharmony_ci
216cb93a386Sopenharmony_ci# DO NOT DELETE THIS LINE -- make depend depends on it.
217cb93a386Sopenharmony_ci
218cb93a386Sopenharmony_cipng.o png.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
219cb93a386Sopenharmony_cipngerror.o pngerror.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
220cb93a386Sopenharmony_cipngrio.o pngrio.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
221cb93a386Sopenharmony_cipngwio.o pngwio.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
222cb93a386Sopenharmony_cipngmem.o pngmem.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
223cb93a386Sopenharmony_cipngset.o pngset.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
224cb93a386Sopenharmony_cipngget.o pngget.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
225cb93a386Sopenharmony_cipngread.o pngread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
226cb93a386Sopenharmony_cipngrtran.o pngrtran.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
227cb93a386Sopenharmony_cipngrutil.o pngrutil.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
228cb93a386Sopenharmony_cipngtrans.o pngtrans.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
229cb93a386Sopenharmony_cipngwrite.o pngwrite.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
230cb93a386Sopenharmony_cipngwtran.o pngwtran.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
231cb93a386Sopenharmony_cipngwutil.o pngwutil.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
232cb93a386Sopenharmony_cipngpread.o pngpread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
233cb93a386Sopenharmony_ci
234cb93a386Sopenharmony_cipngtest.o: png.h pngconf.h pnglibconf.h
235