1893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# makefile for cygwin on x86
2893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project#   Builds both dll (with import lib) and static lib versions
3893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project#   of the library, and builds two copies of pngtest: one
4893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project#   statically linked and one dynamically linked.
5893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project#
64215dd1533c56e1a89ae6f1d6ea68677fac27fdaThe Android Open Source Project# Copyright (C) 2002, 2006-2008 Soren Anderson, Charles Wilson,
7893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project#    and Glenn Randers-Pehrson, based on makefile for linux-elf w/mmx by:
8893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# Copyright (C) 1998-2000 Greg Roelofs
9893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# Copyright (C) 1996, 1997 Andreas Dilger
105f6bd84e375226bf228fc8ac90318957ec9e1e7fPatrick Scott#
11a0bb96c34e65378853ee518bac502842d26c2d1aPatrick Scott# This code is released under the libpng license.
12a0bb96c34e65378853ee518bac502842d26c2d1aPatrick Scott# For conditions of distribution and use, see the disclaimer
13a0bb96c34e65378853ee518bac502842d26c2d1aPatrick Scott# and license in png.h
14893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
15893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# This makefile intends to support building outside the src directory
16893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# if desired. When invoking it, specify an argument to SRCDIR on the
17893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# command line that points to the top of the directory where your source
18893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# is located.
19893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
20893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectifdef SRCDIR
21893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectVPATH = $(SRCDIR)
22893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectelse
23893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectSRCDIR = .
24893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectendif
25893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
26893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# Override DESTDIR= on the make install command line to easily support
27893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# installing into a temporary location.  Example:
28893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project#
29893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project#    make install DESTDIR=/tmp/build/libpng
30893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project#
31893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# If you're going to install into a temporary location
32893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
33893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# you execute make install.
34893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
35893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectDESTDIR=
36893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
37893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectCC=gcc
38893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectifdef MINGW
39893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectMINGW_CCFLAGS=-mno-cygwin -I/usr/include/mingw
40893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectMINGW_LDFLAGS=-mno-cygwin -L/usr/lib/mingw
41893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectendif
42893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
43893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# Where "make install" puts libpng*.a, *png*.dll, png.h, and pngconf.h
44893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectifndef prefix
45893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectprefix=/usr
46893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$(warning You haven't specified a 'prefix=' location. Defaulting to "/usr")
47893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectendif
48893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectexec_prefix=$(prefix)
49893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
50893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# Where the zlib library and include files are located
51893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectZLIBLIB= /usr/lib
52893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectZLIBINC=
53893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project#ZLIBLIB=../zlib
54893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project#ZLIBINC=../zlib
55893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
56893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectALIGN=
57893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# for i386:
58893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project#ALIGN=-malign-loops=2 -malign-functions=2
59893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
60893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectWARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
61893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-Wmissing-declarations -Wtraditional -Wcast-align \
62893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-Wstrict-prototypes -Wmissing-prototypes #-Wconversion
63893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
64893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project### if you don't need thread safety, but want the asm accel
65893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project#CFLAGS= $(strip $(MINGW_CCFLAGS) -DPNG_THREAD_UNSAFE_OK \
664215dd1533c56e1a89ae6f1d6ea68677fac27fdaThe Android Open Source Project#	$(addprefix -I,$(ZLIBINC)) -W -Wall -O $(ALIGN) -funroll-loops \
67893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project#	-fomit-frame-pointer)  # $(WARNMORE) -g -DPNG_DEBUG=5
68893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project### if you need thread safety and want (minimal) asm accel
69893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project#CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \
704215dd1533c56e1a89ae6f1d6ea68677fac27fdaThe Android Open Source Project#	-W -Wall -O $(ALIGN) -funroll-loops \
71893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project#	-fomit-frame-pointer)  # $(WARNMORE) -g -DPNG_DEBUG=5
72893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project### Normal (non-asm) compilation
73893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectCFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \
744215dd1533c56e1a89ae6f1d6ea68677fac27fdaThe Android Open Source Project        -W -Wall -O3 $(ALIGN) -funroll-loops -DPNG_NO_MMX_CODE \
75893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-fomit-frame-pointer) # $(WARNMORE) -g -DPNG_DEBUG=5
76893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
77893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectLIBNAME = libpng12
78893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectPNGMAJ = 0
79893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectCYGDLL = 12
8066dce0da6a5db51ee0c2875517d3a6ca6cbbe53dEric VannierPNGMIN = 1.2.46
81893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectPNGVER = $(PNGMAJ).$(PNGMIN)
82893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
83893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectSHAREDLIB=cygpng$(CYGDLL).dll
84893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectSTATLIB=libpng.a
85893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectIMPLIB=libpng.dll.a
86893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectSHAREDDEF=libpng.def
87893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectLIBS=$(SHAREDLIB) $(STATLIB)
88893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectEXE=.exe
89893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
90893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectLDFLAGS=$(strip -L. $(MINGW_LDFLAGS) -lpng $(addprefix -L,$(ZLIBLIB)) -lz)
91893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectLDSFLAGS=$(strip -shared -L.  $(MINGW_LDFLAGS) -Wl,--export-all)
92893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectLDEXTRA=-Wl,--out-implib=$(IMPLIB) $(addprefix -L,$(ZLIBLIB)) -lz
93893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
94893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectMKDIR_P=/bin/mkdir -pv
95893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectRANLIB=ranlib
96893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project#RANLIB=echo
97893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
98893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectINCPATH=$(prefix)/include
99893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectLIBPATH=$(exec_prefix)/lib
100893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
101893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectBINPATH=$(exec_prefix)/bin
102893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectMANPATH=$(prefix)/man
103893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectMAN3PATH=$(MANPATH)/man3
104893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectMAN5PATH=$(MANPATH)/man5
105893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
106893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# cosmetic: shortened strings:
107893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectS =$(SRCDIR)
108893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectD =$(DESTDIR)
109893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectDB =$(D)$(BINPATH)
110893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectDI =$(D)$(INCPATH)
111893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectDL =$(D)$(LIBPATH)
112893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
113893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectOBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
114893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
115893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngwtran.o pngmem.o pngerror.o pngpread.o
116893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
117893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectOBJSDLL = $(OBJS:.o=.pic.o)
118893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
119893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project.SUFFIXES: .c .o .pic.o
120893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
121893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project%.o : %.c
122893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	$(CC) -c $(CFLAGS) -o $@ $<
123893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project%.pic.o : CFLAGS += -DPNG_BUILD_DLL
124893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project%.pic.o : %.c
125893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	$(CC) -c $(CFLAGS) -o $@ $<
126893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
127893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectall: all-static all-shared libpng.pc libpng-config libpng.pc libpng-config
128893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
129893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# Make this to verify that "make [...] install" will do what you want.
130893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectbuildsetup-tell:
131893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	@echo  VPATH is set to: \"$(VPATH)\"
132893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	@echo  prefix is set to: \"$(prefix)\"
133893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	@echo -e INCPATH,LIBPATH, etc. are set to:'\n' \
134893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project $(addprefix $(D),$(INCPATH)'\n' $(LIBPATH)'\n' $(BINPATH)'\n' \
135893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project   $(MANPATH)'\n' $(MAN3PATH)'\n' $(MAN5PATH)'\n')'\n'
136893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
137893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectlibpng.pc: scripts/libpng.pc.in
138893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	@echo -e Making pkg-config file for this libpng installation..'\n' \
139893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project           using PREFIX=\"$(prefix)\"'\n'
140893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
141893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-e s!@exec_prefix@!$(exec_prefix)! \
142893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-e s!@libdir@!$(LIBPATH)! \
143893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-e s!@includedir@!$(INCPATH)! \
144893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-e s!-lpng12!-lpng12\ -lz! > libpng.pc
145893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
146893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectlibpng-config: scripts/libpng-config-head.in scripts/libpng-config-body.in
147893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	@echo -e Making $(LIBNAME) libpng-config file for this libpng \
148893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project installation..'\n' using PREFIX=\"$(prefix)\"'\n'
149893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	( cat $(S)/scripts/libpng-config-head.in; \
150893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	echo prefix=\"$(prefix)\"; \
151893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
152893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	echo L_opts=\"-L$(LIBPATH)\"; \
153893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	echo libs=\"-lpng$(CYGDLL) -lz\"; \
154893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	cat $(S)/scripts/libpng-config-body.in ) > libpng-config
155893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	chmod +x libpng-config
156893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
157893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectstatic: all-static
158893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectshared: all-shared
159893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectall-static: $(STATLIB) pngtest-stat$(EXE)
160893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectall-shared: $(SHAREDLIB) pngtest$(EXE)
161893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
162893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$(STATLIB): $(OBJS)
163893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	ar rc $@ $(OBJS)
164893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	$(RANLIB) $@
165893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
166893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$(SHAREDDEF): scripts/pngw32.def
167893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	cat $< | sed -e '1{G;s/^\(.*\)\(\n\)/EXPORTS/;};2,/^EXPORTS/d' | \
168893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	sed -e 's/\([^;]*\);/;/' > $@
169893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
170893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$(SHAREDLIB): $(OBJSDLL) $(SHAREDDEF)
171893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	$(CC) $(LDSFLAGS) -o $@ $(OBJSDLL) -L. $(LDEXTRA)
172893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
173893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectpngtest$(EXE): pngtest.pic.o $(SHAREDLIB)
174893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	$(CC) $(CFLAGS) $< $(LDFLAGS) -o $@
175893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
176893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectpngtest-stat$(EXE): pngtest.o $(STATLIB)
177893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	$(CC) -static $(CFLAGS) $< $(LDFLAGS) -o $@
178893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
179893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectpngtest.pic.o: pngtest.c
180893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	$(CC) $(CFLAGS) -c $< -o $@
181893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
182a0bb96c34e65378853ee518bac502842d26c2d1aPatrick Scottpngtest.o: pngtest.c png.h pngconf.h
183893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	$(CC) $(CFLAGS) -c $< -o $@
184893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
185893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projecttest: test-static test-shared
186893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
187893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projecttest-static: pngtest-stat$(EXE)
188893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	./pngtest-stat $(S)/pngtest.png
189893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
190893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projecttest-shared: pngtest$(EXE)
191893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	./pngtest $(S)/pngtest.png
192893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
193893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectinstall-static: $(STATLIB) install-headers install-man
194893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
195893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	install -m 644 $(STATLIB) $(DL)/$(LIBNAME).a
196893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-@rm -f $(DL)/$(STATLIB)
197893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	(cd $(DL); ln -sf $(LIBNAME).a $(STATLIB))
198893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
199893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectinstall-shared: $(SHAREDLIB) libpng.pc libpng-config install-headers install-man
200893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
201893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi
202893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
203893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-@/bin/rm -f $(DL)/pkgconfig/$(LIBNAME).pc
204893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-@/bin/rm -f $(DL)/pkgconfig/libpng.pc
205893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	install -m 644 $(IMPLIB) $(DL)/$(LIBNAME).dll.a
206893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-@rm -f $(DL)/$(IMPLIB)
207893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	(cd $(DL); ln -sf $(LIBNAME).dll.a $(IMPLIB))
208893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	install -s -m 755 $(SHAREDLIB) $(DB)
209893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	install -m 644 libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
210893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	(cd $(DL)/pkgconfig; ln -sf $(LIBNAME).pc libpng.pc)
211893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
212893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectinstall-headers:
213893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
214893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
215893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-@rm -f $(DI)/png.h
216893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-@rm -f $(DI)/pngconf.h
217893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	install -m 644 $(S)/png.h $(S)/pngconf.h $(DI)/$(LIBNAME)
218893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-@rm -f $(DI)/libpng
219893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	(cd $(DI); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
220893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
221893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectinstall-man:
222893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-@if [ ! -d $(D)$(MAN3PATH) ]; then $(MKDIR_P) $(D)$(MAN3PATH); fi
223893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-@if [ ! -d $(D)$(MAN5PATH) ]; then $(MKDIR_P) $(D)$(MAN5PATH); fi
224893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	install -m 644 $(S)/libpngpf.3 $(S)/libpng.3 $(D)$(MAN3PATH)
225893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	install -m 644 $(S)/png.5 $(D)$(MAN5PATH)
226893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
227893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectinstall-config: libpng-config
228893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi
229893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-@/bin/rm -f $(DB)/libpng-config
230893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-@/bin/rm -f $(DB)/$(LIBNAME)-config
231893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	cp libpng-config $(DB)/$(LIBNAME)-config
232893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	chmod 755 $(DB)/$(LIBNAME)-config
233893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	(cd $(DB); ln -sf $(LIBNAME)-config libpng-config)
234893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
235893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# Run this to verify that a future `configure' run will pick up the settings
236893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# you want.
237893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projecttest-config-install: SHELL=/bin/bash
238893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projecttest-config-install: $(DB)/libpng-config
239893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	@echo -e Testing libpng-config functions...'\n'
240893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	@ for TYRA in LDFLAGS CPPFLAGS CFLAGS LIBS VERSION; \
241893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project   do \
242893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project    printf "(%d)\t %10s =%s\n" $$(($$gytiu + 1)) $$TYRA \
243893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project    "$$($(DB)/libpng-config `echo --$$TYRA |tr '[:upper:]' '[:lower:]'`)"; \
244893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project    gytiu=$$(( $$gytiu + 1 )); \
245893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project   done
246893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
247893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectinstall: install-static install-shared install-man install-config
248893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
249893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# If you installed in $(DESTDIR), test-installed won't work until you
250893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# move the library to its final location.  Use test-dd to test it
251893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# before then.
252893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
253893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projecttest-dd:
254893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	echo
255893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	echo Testing installed dynamic shared library in $(DL).
256893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	$(CC) -I$(DI) $(CFLAGS) \
257893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	   `$(BINPATH)/libpng12-config --cflags` pngtest.c \
258893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	   -L$(DL) -L$(ZLIBLIB) \
259893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	   -o pngtestd `$(BINPATH)/libpng12-config --ldflags`
260893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	./pngtestd pngtest.png
261893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
262893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projecttest-installed:
263893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	$(CC) $(CFLAGS) \
264893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	   `$(BINPATH)/libpng12-config --cflags` pngtest.c \
265893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	   -L$(ZLIBLIB) \
266893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	   -o pngtesti$(EXE) `$(BINPATH)/libpng12-config --ldflags`
267893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	./pngtesti$(EXE) pngtest.png
268893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
269893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectclean:
270893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	/bin/rm -f *.pic.o *.o $(STATLIB) $(IMPLIB) $(SHAREDLIB) \
271893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngtest-stat$(EXE) pngtest$(EXE) pngout.png $(SHAREDDEF) \
272893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	libpng-config libpng.pc pngtesti$(EXE)
273893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
274893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectDOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
275893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectwritelock:
276893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	chmod a-w *.[ch35] $(DOCS) scripts/*
277893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
278893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project.PHONY: buildsetup-tell libpng.pc libpng-config test-config-install clean
279893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
280893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# DO NOT DELETE THIS LINE -- make depend depends on it.
281893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
282893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectpng.o png.pic.o:		png.h pngconf.h png.c
283893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectpngerror.o pngerror.pic.o:	png.h pngconf.h pngerror.c
284893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectpngrio.o pngrio.pic.o:		png.h pngconf.h pngrio.c
285893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectpngwio.o pngwio.pic.o:		png.h pngconf.h pngwio.c
286893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectpngmem.o pngmem.pic.o:		png.h pngconf.h pngmem.c
287893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectpngset.o pngset.pic.o:		png.h pngconf.h pngset.c
288893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectpngget.o pngget.pic.o:		png.h pngconf.h pngget.c
289893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectpngread.o pngread.pic.o:	png.h pngconf.h pngread.c
290893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectpngrtran.o pngrtran.pic.o:	png.h pngconf.h pngrtran.c
291893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectpngrutil.o pngrutil.pic.o:	png.h pngconf.h pngrutil.c
292893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectpngtrans.o pngtrans.pic.o:	png.h pngconf.h pngtrans.c
293893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectpngwrite.o pngwrite.pic.o:	png.h pngconf.h pngwrite.c
294893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectpngwtran.o pngwtran.pic.o:	png.h pngconf.h pngwtran.c
295893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectpngwutil.o pngwutil.pic.o:	png.h pngconf.h pngwutil.c
296893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectpngpread.o pngpread.pic.o:	png.h pngconf.h pngpread.c
297893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
298893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectpngtest.o:			png.h pngconf.h pngtest.c
299893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectpngtest-stat.o:			png.h pngconf.h pngtest.c
300893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
301893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
302893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
303