# makefile for libpng using gcc (generic, static library)
-# Copyright (C) 2002 Glenn Randers-Pehrson
+# Copyright (C) 2002, 2006, 2008 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.
# 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.7
+PNGMIN = 1.2.34
PNGVER = $(PNGMAJ).$(PNGMIN)
prefix=/usr/local
LDDEBUG =
CRELEASE = -O2
LDRELEASE = -s
-WARNMORE=-Wall
+WARNMORE=-W -Wall
CFLAGS = -I$(ZLIBINC) $(WARNMORE) $(CRELEASE)
LDFLAGS = -L. -L$(ZLIBLIB) -lpng12 -lz -lm $(LDRELEASE)
all: $(LIBNAME)$(A) pngtest$(E)
$(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
+ -@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)/png.h
+ -@$(RM_F) $(DI)/pngconf.h
cp png.h pngconf.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)
+ -@$(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
+ $(RM_F) *.o $(LIBNAME)$(A) pngtest pngout.png
png$(O): png.h pngconf.h
pngerror$(O): png.h pngconf.h