# 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.4
+PNGMIN = 1.2.34
PNGVER = $(PNGMAJ).$(PNGMIN)
prefix=/usr/local
# you execute make install.
DESTDIR=
-DI=$(DESTDIR)/$(INCPATH)
-DL=$(DESTDIR)/$(LIBPATH)
+DI=$(DESTDIR)$(INCPATH)
+DL=$(DESTDIR)$(LIBPATH)
CDEBUG = -g -DPNG_DEBUG=5
LDDEBUG =
CRELEASE = -O2
LDRELEASE = -s
-CFLAGS = -I$(ZLIBINC) -Wall $(CRELEASE)
-LDFLAGS = -L. -L$(ZLIBLIB) -lpng -lz -lm $(LDRELEASE)
+WARNMORE=-W -Wall
+CFLAGS = -I$(ZLIBINC) $(WARNMORE) $(CRELEASE)
+LDFLAGS = -L. -L$(ZLIBLIB) -lpng12 -lz -lm $(LDRELEASE)
# File extensions
O=.o
pngtrans$(O) pngwio$(O) pngwrite$(O) pngwtran$(O) pngwutil$(O)
# Targets
-all: libpng$(A) pngtest$(E)
+all: $(LIBNAME)$(A) pngtest$(E)
-libpng$(A): $(OBJS)
- $(AR) $@ $(OBJS)
+$(LIBNAME)$(A): $(OBJS)
+ $(AR_RC) $@ $(OBJS)
$(RANLIB) $@
test: pngtest$(E)
./pngtest$(E)
-pngtest$(E): pngtest$(O) libpng$(A)
+pngtest$(E): pngtest$(O) $(LIBNAME)$(A)
$(LD) -o $@ pngtest$(O) $(LDFLAGS)
-install: libpng.a
- -@if [ ! -d $(DI) ]; then mkdir $(DI); fi
- -@if [ ! -d $(DI)/libpng ]; then mkdir $(DI)/libpng; fi
- -@if [ ! -d $(DL) ]; then mkdir $(DL); fi
- -@rm $(DI)/png.h
- -@rm $(DI)/pngconf.h
- cp png.h pngconf.h $(DI)/libpng
- chmod 644 $(DI)/libpng/png.h \
- $(DI)/libpng/pngconf.h
- (cd $(DI); ln -f -s libpng/* .)
- cp libpng.a $(DL)
+install: $(LIBNAME)$(A)
+ -@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_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_SF) $(LIBNAME)$(A) libpng$(A))
+ (cd $(DI); $(LN_SF) libpng/* .;)
clean:
- /bin/rm -f *.o libpng.a pngtest pngout.png
+ $(RM_F) *.o $(LIBNAME)$(A) pngtest pngout.png
png$(O): png.h pngconf.h
pngerror$(O): png.h pngconf.h