# makefile for libpng using gcc (generic, static library)
-# Copyright (C) 2002 Glenn Randers-Pehrson
+# Copyright (C) 2002, 2006-2009 Glenn Randers-Pehrson
# Copyright (C) 2000 Cosmin Truta
# Copyright (C) 2000 Marc O. Gloor (AIX support added, from makefile.gcc)
# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
-# For conditions of distribution and use, see copyright notice in png.h
+#
+# This code is released under the libpng license.
+# For conditions of distribution and use, see the disclaimer
+# and license in png.h
# Location of the zlib library and include files
ZLIBINC = ../zlib
# Compiler, linker, lib and other tools
CC = gcc
LD = $(CC)
-AR = ar rcs
+AR_RC = ar rcs
+MKDIR_P = mkdir -p
RANLIB = ranlib
-RM = rm -f
+RM_F = rm -f
+LN_SF = ln -f -s
-LIBNAME=libpng12
-PNGMAJ = 0
-PNGMIN = 1.2.6
-PNGVER = $(PNGMAJ).$(PNGMIN)
+LIBNAME=libpng15
+PNGMAJ = 15
prefix=/usr/local
INCPATH=$(prefix)/include
LDDEBUG =
CRELEASE = -O2
LDRELEASE = -s
-WARNMORE=-Wall
+WARNMORE=-W -Wall
CFLAGS = -I$(ZLIBINC) $(WARNMORE) $(CRELEASE)
-LDFLAGS = -L. -L$(ZLIBLIB) -lpng12 -lz -lm $(LDRELEASE)
+LDFLAGS = -L. -L$(ZLIBLIB) -lpng15 -lz -lm $(LDRELEASE)
# File extensions
O=.o
E=
# Variables
-OBJS = png$(O) pngerror$(O) pngget$(O) pngmem$(O) pngpread$(O) \
+OBJS = png$(O) pngerror$(O) pngget$(O) pngmem$(O) pngpread$(O) \
pngread$(O) pngrio$(O) pngrtran$(O) pngrutil$(O) pngset$(O) \
pngtrans$(O) pngwio$(O) pngwrite$(O) pngwtran$(O) pngwutil$(O)
# Targets
all: $(LIBNAME)$(A) pngtest$(E)
+include scripts/pnglibconf.mak
+REMOVE = $(RM_F)
+DFNFLAGS = $(DEFS) $(CPPFLAGS)
+
$(LIBNAME)$(A): $(OBJS)
- $(AR) $@ $(OBJS)
+ $(AR_RC) $@ $(OBJS)
$(RANLIB) $@
test: pngtest$(E)
$(LD) -o $@ pngtest$(O) $(LDFLAGS)
install: $(LIBNAME)$(A)
- -@if [ ! -d $(DI) ]; then mkdir $(DI); fi
- -@if [ ! -d $(DI)/$(LIBNAME) ]; then mkdir $(DI)/$(LIBNAME); fi
- -@if [ ! -d $(DL) ]; then mkdir $(DL); fi
- -@rm -f $(DI)/$(LIBNAME)/png.h
- -@rm -f $(DI)/$(LIBNAME)/pngconf.h
- -@rm -f $(DI)/png.h
- -@rm -f $(DI)/pngconf.h
- cp png.h pngconf.h $(DI)/$(LIBNAME)
+ -@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
+ -@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
+ -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
+ -@$(RM_F) $(DI)/$(LIBNAME)/png.h
+ -@$(RM_F) $(DI)/$(LIBNAME)/pngconf.h
+ -@$(RM_F) $(DI)/$(LIBNAME)/pnglibconf.h
+ -@$(RM_F) $(DI)/png.h
+ -@$(RM_F) $(DI)/pngconf.h
+ -@$(RM_F) $(DI)/pnglibconf.h
+ cp png.h pngconf.h pnglibconf.h $(DI)/$(LIBNAME)
chmod 644 $(DI)/$(LIBNAME)/png.h \
- $(DI)/$(LIBNAME)/pngconf.h
- -@rm -rf $(DI)/libpng
- (cd $(DI); ln -f -s $(LIBNAME) libpng; ln -f -s $(LIBNAME)/* .)
- -@rm -f $(DL)/$(LIBNAME)$(A)
- -@rm -f $(DL)/libpng$(A)
+ $(DI)/$(LIBNAME)/pngconf.h \
+ $(DI)/$(LIBNAME)/pnglibconf.h
+ -@$(RM_F) -r $(DI)/libpng
+ (cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
+ -@$(RM_F) $(DL)/$(LIBNAME)$(A)
+ -@$(RM_F) $(DL)/libpng$(A)
cp $(LIBNAME)$(A) $(DL)/$(LIBNAME)$(A)
chmod 644 $(DL)/$(LIBNAME)$(A)
- (cd $(DL); ln -f -s $(LIBNAME)$(A) libpng$(A))
- (cd $(DI); ln -f -s libpng/* .;)
+ (cd $(DL); $(LN_SF) $(LIBNAME)$(A) libpng$(A))
+ (cd $(DI); $(LN_SF) libpng/* .;)
clean:
- /bin/rm -f *.o $(LIBNAME)$(A) pngtest pngout.png
-
-png$(O): png.h pngconf.h
-pngerror$(O): png.h pngconf.h
-pngget$(O): png.h pngconf.h
-pngmem$(O): png.h pngconf.h
-pngpread$(O): png.h pngconf.h
-pngread$(O): png.h pngconf.h
-pngrio$(O): png.h pngconf.h
-pngrtran$(O): png.h pngconf.h
-pngrutil$(O): png.h pngconf.h
-pngset$(O): png.h pngconf.h
-pngtest$(O): png.h pngconf.h
-pngtrans$(O): png.h pngconf.h
-pngwio$(O): png.h pngconf.h
-pngwrite$(O): png.h pngconf.h
-pngwtran$(O): png.h pngconf.h
-pngwutil$(O): png.h pngconf.h
-
+ $(RM_F) *.o $(LIBNAME)$(A) pngtest pngout.png pnglibconf.h
+
+png$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngerror$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngget$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngmem$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngpread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngrutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngset$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngtrans$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwrite$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+pngwutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
+
+pngtest$(O): png.h pngconf.h pnglibconf.h