| # makefile for cygwin on x86 | 
 | #   Builds both dll (with import lib) and static lib versions | 
 | #   of the library, and builds two copies of pngtest: one | 
 | #   statically linked and one dynamically linked. | 
 | # | 
 | # Copyright (C) 2002, 2006-2008 Soren Anderson, Charles Wilson, | 
 | #    and Glenn Randers-Pehrson, based on makefile for linux-elf w/mmx by: | 
 | # Copyright (C) 1998-2000 Greg Roelofs | 
 | # Copyright (C) 1996, 1997 Andreas Dilger | 
 | # | 
 | # This code is released under the libpng license. | 
 | # For conditions of distribution and use, see the disclaimer | 
 | # and license in png.h | 
 |  | 
 | # This makefile intends to support building outside the src directory | 
 | # if desired. When invoking it, specify an argument to SRCDIR on the | 
 | # command line that points to the top of the directory where your source | 
 | # is located. | 
 |  | 
 | ifdef SRCDIR | 
 | VPATH = $(SRCDIR) | 
 | else | 
 | SRCDIR = . | 
 | endif | 
 |  | 
 | # Override DESTDIR= on the make install command line to easily support | 
 | # installing into a temporary location.  Example: | 
 | # | 
 | #    make install DESTDIR=/tmp/build/libpng | 
 | # | 
 | # If you're going to install into a temporary location | 
 | # via DESTDIR, $(DESTDIR)$(prefix) must already exist before | 
 | # you execute make install. | 
 |  | 
 | DESTDIR= | 
 |  | 
 | CC=gcc | 
 | ifdef MINGW | 
 | MINGW_CCFLAGS=-mno-cygwin -I/usr/include/mingw | 
 | MINGW_LDFLAGS=-mno-cygwin -L/usr/lib/mingw | 
 | endif | 
 |  | 
 | # Where "make install" puts libpng*.a, *png*.dll, png.h, and pngconf.h | 
 | ifndef prefix | 
 | prefix=/usr | 
 | $(warning You haven't specified a 'prefix=' location. Defaulting to "/usr") | 
 | endif | 
 | exec_prefix=$(prefix) | 
 |  | 
 | # Where the zlib library and include files are located | 
 | ZLIBLIB= /usr/lib | 
 | ZLIBINC= | 
 | #ZLIBLIB=../zlib | 
 | #ZLIBINC=../zlib | 
 |  | 
 | ALIGN= | 
 | # for i386: | 
 | #ALIGN=-malign-loops=2 -malign-functions=2 | 
 |  | 
 | WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \ | 
 | 	-Wmissing-declarations -Wtraditional -Wcast-align \ | 
 | 	-Wstrict-prototypes -Wmissing-prototypes #-Wconversion | 
 |  | 
 | CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \ | 
 |         -W -Wall -O3 $(ALIGN) -funroll-loops \ | 
 | 	-fomit-frame-pointer) # $(WARNMORE) -g -DPNG_DEBUG=5 | 
 |  | 
 | LIBNAME = libpng14 | 
 | PNGMAJ = 14 | 
 | CYGDLL = 14 | 
 |  | 
 | SHAREDLIB=cygpng$(CYGDLL).dll | 
 | STATLIB=libpng.a | 
 | IMPLIB=libpng.dll.a | 
 | SHAREDDEF=libpng.def | 
 | LIBS=$(SHAREDLIB) $(STATLIB) | 
 | EXE=.exe | 
 |  | 
 | LDFLAGS=$(strip -L. $(MINGW_LDFLAGS) -lpng $(addprefix -L,$(ZLIBLIB)) -lz) | 
 | LDSFLAGS=$(strip -shared -L.  $(MINGW_LDFLAGS) -Wl,--export-all) | 
 | LDEXTRA=-Wl,--out-implib=$(IMPLIB) $(addprefix -L,$(ZLIBLIB)) -lz | 
 |  | 
 | MKDIR_P=/bin/mkdir -pv | 
 | RANLIB=ranlib | 
 | #RANLIB=echo | 
 |  | 
 | INCPATH=$(prefix)/include | 
 | LIBPATH=$(exec_prefix)/lib | 
 |  | 
 | BINPATH=$(exec_prefix)/bin | 
 | MANPATH=$(prefix)/man | 
 | MAN3PATH=$(MANPATH)/man3 | 
 | MAN5PATH=$(MANPATH)/man5 | 
 |  | 
 | # cosmetic: shortened strings: | 
 | S =$(SRCDIR) | 
 | D =$(DESTDIR) | 
 | DB =$(D)$(BINPATH) | 
 | DI =$(D)$(INCPATH) | 
 | DL =$(D)$(LIBPATH) | 
 |  | 
 | OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \ | 
 | 	pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \ | 
 | 	pngwtran.o pngmem.o pngerror.o pngpread.o | 
 |  | 
 | OBJSDLL = $(OBJS:.o=.pic.o) | 
 |  | 
 | .SUFFIXES: .c .o .pic.o | 
 |  | 
 | %.o : %.c | 
 | 	$(CC) -c $(CFLAGS) -o $@ $< | 
 | %.pic.o : CFLAGS += -DPNG_BUILD_DLL | 
 | %.pic.o : %.c | 
 | 	$(CC) -c $(CFLAGS) -o $@ $< | 
 |  | 
 | all: all-static all-shared libpng.pc libpng-config libpng.pc libpng-config | 
 |  | 
 | # Make this to verify that "make [...] install" will do what you want. | 
 | buildsetup-tell: | 
 | 	@echo  VPATH is set to: \"$(VPATH)\" | 
 | 	@echo  prefix is set to: \"$(prefix)\" | 
 | 	@echo -e INCPATH,LIBPATH, etc. are set to:'\n' \ | 
 |  $(addprefix $(D),$(INCPATH)'\n' $(LIBPATH)'\n' $(BINPATH)'\n' \ | 
 |    $(MANPATH)'\n' $(MAN3PATH)'\n' $(MAN5PATH)'\n')'\n' | 
 |  | 
 | libpng.pc: scripts/libpng.pc.in | 
 | 	@echo -e Making pkg-config file for this libpng installation..'\n' \ | 
 |            using PREFIX=\"$(prefix)\"'\n' | 
 | 	cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \ | 
 | 	-e s!@exec_prefix@!$(exec_prefix)! \ | 
 | 	-e s!@libdir@!$(LIBPATH)! \ | 
 | 	-e s!@includedir@!$(INCPATH)! \ | 
 | 	-e s!-lpng14!-lpng14\ -lz! > libpng.pc | 
 |  | 
 | libpng-config: scripts/libpng-config-head.in scripts/libpng-config-body.in | 
 | 	@echo -e Making $(LIBNAME) libpng-config file for this libpng \ | 
 |  installation..'\n' using PREFIX=\"$(prefix)\"'\n' | 
 | 	( cat $(S)/scripts/libpng-config-head.in; \ | 
 | 	echo prefix=\"$(prefix)\"; \ | 
 | 	echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \ | 
 | 	echo L_opts=\"-L$(LIBPATH)\"; \ | 
 | 	echo libs=\"-lpng$(CYGDLL) -lz\"; \ | 
 | 	cat $(S)/scripts/libpng-config-body.in ) > libpng-config | 
 | 	chmod +x libpng-config | 
 |  | 
 | static: all-static | 
 | shared: all-shared | 
 | all-static: $(STATLIB) pngtest-stat$(EXE) | 
 | all-shared: $(SHAREDLIB) pngtest$(EXE) | 
 |  | 
 | $(STATLIB): $(OBJS) | 
 | 	ar rc $@ $(OBJS) | 
 | 	$(RANLIB) $@ | 
 |  | 
 | $(SHAREDDEF): scripts/pngwin.def | 
 | 	cat $< | sed -e '1{G;s/^\(.*\)\(\n\)/EXPORTS/;};2,/^EXPORTS/d' | \ | 
 | 	sed -e 's/\([^;]*\);/;/' > $@ | 
 |  | 
 | $(SHAREDLIB): $(OBJSDLL) $(SHAREDDEF) | 
 | 	$(CC) $(LDSFLAGS) -o $@ $(OBJSDLL) -L. $(LDEXTRA) | 
 |  | 
 | pngtest$(EXE): pngtest.pic.o $(SHAREDLIB) | 
 | 	$(CC) $(CFLAGS) $< $(LDFLAGS) -o $@ | 
 |  | 
 | pngtest-stat$(EXE): pngtest.o $(STATLIB) | 
 | 	$(CC) -static $(CFLAGS) $< $(LDFLAGS) -o $@ | 
 |  | 
 | pngtest.pic.o: pngtest.c | 
 | 	$(CC) $(CFLAGS) -c $< -o $@ | 
 |  | 
 | pngtest.o: pngtest.c png.h pngconf.h | 
 | 	$(CC) $(CFLAGS) -c $< -o $@ | 
 |  | 
 | test: test-static test-shared | 
 |  | 
 | test-static: pngtest-stat$(EXE) | 
 | 	./pngtest-stat $(S)/pngtest.png | 
 |  | 
 | test-shared: pngtest$(EXE) | 
 | 	./pngtest $(S)/pngtest.png | 
 |  | 
 | install-static: $(STATLIB) install-headers install-man | 
 | 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi | 
 | 	install -m 644 $(STATLIB) $(DL)/$(LIBNAME).a | 
 | 	-@rm -f $(DL)/$(STATLIB) | 
 | 	(cd $(DL); ln -sf $(LIBNAME).a $(STATLIB)) | 
 |  | 
 | install-shared: $(SHAREDLIB) libpng.pc libpng-config install-headers install-man | 
 | 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi | 
 | 	-@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi | 
 | 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi | 
 | 	-@/bin/rm -f $(DL)/pkgconfig/$(LIBNAME).pc | 
 | 	-@/bin/rm -f $(DL)/pkgconfig/libpng.pc | 
 | 	install -m 644 $(IMPLIB) $(DL)/$(LIBNAME).dll.a | 
 | 	-@rm -f $(DL)/$(IMPLIB) | 
 | 	(cd $(DL); ln -sf $(LIBNAME).dll.a $(IMPLIB)) | 
 | 	install -s -m 755 $(SHAREDLIB) $(DB) | 
 | 	install -m 644 libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc | 
 | 	(cd $(DL)/pkgconfig; ln -sf $(LIBNAME).pc libpng.pc) | 
 |  | 
 | install-headers: | 
 | 	-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi | 
 | 	-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi | 
 | 	-@rm -f $(DI)/png.h | 
 | 	-@rm -f $(DI)/pngconf.h | 
 | 	install -m 644 $(S)/png.h $(S)/pngconf.h $(DI)/$(LIBNAME) | 
 | 	-@rm -f $(DI)/libpng | 
 | 	(cd $(DI); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .) | 
 |  | 
 | install-man: | 
 | 	-@if [ ! -d $(D)$(MAN3PATH) ]; then $(MKDIR_P) $(D)$(MAN3PATH); fi | 
 | 	-@if [ ! -d $(D)$(MAN5PATH) ]; then $(MKDIR_P) $(D)$(MAN5PATH); fi | 
 | 	install -m 644 $(S)/libpngpf.3 $(S)/libpng.3 $(D)$(MAN3PATH) | 
 | 	install -m 644 $(S)/png.5 $(D)$(MAN5PATH) | 
 |  | 
 | install-config: libpng-config | 
 | 	-@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi | 
 | 	-@/bin/rm -f $(DB)/libpng-config | 
 | 	-@/bin/rm -f $(DB)/$(LIBNAME)-config | 
 | 	cp libpng-config $(DB)/$(LIBNAME)-config | 
 | 	chmod 755 $(DB)/$(LIBNAME)-config | 
 | 	(cd $(DB); ln -sf $(LIBNAME)-config libpng-config) | 
 |  | 
 | # Run this to verify that a future `configure' run will pick up the settings | 
 | # you want. | 
 | test-config-install: SHELL=/bin/bash | 
 | test-config-install: $(DB)/libpng-config | 
 | 	@echo -e Testing libpng-config functions...'\n' | 
 | 	@ for TYRA in LDFLAGS CPPFLAGS CFLAGS LIBS VERSION; \ | 
 |    do \ | 
 |     printf "(%d)\t %10s =%s\n" $$(($$gytiu + 1)) $$TYRA \ | 
 |     "$$($(DB)/libpng-config `echo --$$TYRA |tr '[:upper:]' '[:lower:]'`)"; \ | 
 |     gytiu=$$(( $$gytiu + 1 )); \ | 
 |    done | 
 |  | 
 | install: install-static install-shared install-man install-config | 
 |  | 
 | # If you installed in $(DESTDIR), test-installed won't work until you | 
 | # move the library to its final location.  Use test-dd to test it | 
 | # before then. | 
 |  | 
 | test-dd: | 
 | 	echo | 
 | 	echo Testing installed dynamic shared library in $(DL). | 
 | 	$(CC) -I$(DI) $(CFLAGS) \ | 
 | 	   `$(BINPATH)/libpng14-config --cflags` pngtest.c \ | 
 | 	   -L$(DL) -L$(ZLIBLIB) \ | 
 | 	   -o pngtestd `$(BINPATH)/libpng14-config --ldflags` | 
 | 	./pngtestd pngtest.png | 
 |  | 
 | test-installed: | 
 | 	$(CC) $(CFLAGS) \ | 
 | 	   `$(BINPATH)/libpng14-config --cflags` pngtest.c \ | 
 | 	   -L$(ZLIBLIB) \ | 
 | 	   -o pngtesti$(EXE) `$(BINPATH)/libpng14-config --ldflags` | 
 | 	./pngtesti$(EXE) pngtest.png | 
 |  | 
 | clean: | 
 | 	/bin/rm -f *.pic.o *.o $(STATLIB) $(IMPLIB) $(SHAREDLIB) \ | 
 | 	pngtest-stat$(EXE) pngtest$(EXE) pngout.png $(SHAREDDEF) \ | 
 | 	libpng-config libpng.pc pngtesti$(EXE) | 
 |  | 
 | DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO | 
 | writelock: | 
 | 	chmod a-w *.[ch35] $(DOCS) scripts/* | 
 |  | 
 | .PHONY: buildsetup-tell libpng.pc libpng-config test-config-install clean | 
 |  | 
 | # DO NOT DELETE THIS LINE -- make depend depends on it. | 
 |  | 
 | png.o png.pic.o:		png.h pngconf.h pngpriv.h png.c | 
 | pngerror.o pngerror.pic.o:	png.h pngconf.h pngpriv.h pngerror.c | 
 | pngrio.o pngrio.pic.o:		png.h pngconf.h pngpriv.h pngrio.c | 
 | pngwio.o pngwio.pic.o:		png.h pngconf.h pngpriv.h pngwio.c | 
 | pngmem.o pngmem.pic.o:		png.h pngconf.h pngpriv.h pngmem.c | 
 | pngset.o pngset.pic.o:		png.h pngconf.h pngpriv.h pngset.c | 
 | pngget.o pngget.pic.o:		png.h pngconf.h pngpriv.h pngget.c | 
 | pngread.o pngread.pic.o:	png.h pngconf.h pngpriv.h pngread.c | 
 | pngrtran.o pngrtran.pic.o:	png.h pngconf.h pngpriv.h pngrtran.c | 
 | pngrutil.o pngrutil.pic.o:	png.h pngconf.h pngpriv.h pngrutil.c | 
 | pngtrans.o pngtrans.pic.o:	png.h pngconf.h pngpriv.h pngtrans.c | 
 | pngwrite.o pngwrite.pic.o:	png.h pngconf.h pngpriv.h pngwrite.c | 
 | pngwtran.o pngwtran.pic.o:	png.h pngconf.h pngpriv.h pngwtran.c | 
 | pngwutil.o pngwutil.pic.o:	png.h pngconf.h pngpriv.h pngwutil.c | 
 | pngpread.o pngpread.pic.o:	png.h pngconf.h pngpriv.h pngpread.c | 
 |  | 
 | pngtest.o:			png.h pngconf.h pngtest.c | 
 | pngtest-stat.o:			png.h pngconf.h pngtest.c | 
 |  | 
 |  | 
 |  |