1# makefile for libpng
2# Copyright (C) 2002 Glenn Randers-Pehrson
3# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
4# For conditions of distribution and use, see copyright notice in png.h
5
6# where make install puts libpng.a and png.h
7prefix=/usr/local
8INCPATH=$(prefix)/include
9LIBPATH=$(prefix)/lib
10
11# override DESTDIR= on the make install command line to easily support
12# installing into a temporary location.  Example:
13#
14#    make install DESTDIR=/tmp/build/libpng
15#
16# If you're going to install into a temporary location
17# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
18# you execute make install.
19DESTDIR=
20
21# Where the zlib library and include files are located
22#ZLIBLIB=/usr/local/lib
23#ZLIBINC=/usr/local/include
24ZLIBLIB=../zlib
25ZLIBINC=../zlib
26
27
28WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow -Wconversion \
29	-Wmissing-declarations -Wtraditional -Wcast-align \
30	-Wstrict-prototypes -Wmissing-prototypes
31CC=gcc
32CFLAGS=-I$(ZLIBINC) -O # $(WARNMORE) -DPNG_DEBUG=5
33LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
34
35RANLIB=ranlib
36#RANLIB=echo
37
38OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
39	pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
40	pngwtran.o pngmem.o pngerror.o pngpread.o
41
42all: libpng.a pngtest
43
44libpng.a: $(OBJS)
45	ar rc $@  $(OBJS)
46	$(RANLIB) $@
47
48pngtest: pngtest.o libpng.a
49	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
50
51test: pngtest
52	./pngtest
53
54install: libpng.a
55	-@mkdir $(DESTDIR)$(INCPATH)
56	-@mkdir $(DESTDIR)$(INCPATH)/libpng
57	-@mkdir $(DESTDIR)$(LIBPATH)
58	-@rm -f $(DESTDIR)$(INCPATH)/png.h
59	-@rm -f $(DESTDIR)$(INCPATH)/pngconf.h
60	cp png.h $(DESTDIR)$(INCPATH)/libpng
61	cp pngconf.h $(DESTDIR)$(INCPATH)/libpng
62	chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h
63	chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h
64	(cd $(DESTDIR)$(INCPATH); ln -f -s libpng/* .)
65	cp libpng.a $(DESTDIR)$(LIBPATH)
66	chmod 644 $(DESTDIR)$(LIBPATH)/libpng.a
67
68clean:
69	rm -f *.o libpng.a pngtest pngout.png
70
71DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
72writelock:
73	chmod a-w *.[ch35] $(DOCS) scripts/*
74
75# DO NOT DELETE THIS LINE -- make depend depends on it.
76
77png.o: png.h pngconf.h
78pngerror.o: png.h pngconf.h
79pngrio.o: png.h pngconf.h
80pngwio.o: png.h pngconf.h
81pngmem.o: png.h pngconf.h
82pngset.o: png.h pngconf.h
83pngget.o: png.h pngconf.h
84pngread.o: png.h pngconf.h
85pngrtran.o: png.h pngconf.h
86pngrutil.o: png.h pngconf.h
87pngtest.o: png.h pngconf.h
88pngtrans.o: png.h pngconf.h
89pngwrite.o: png.h pngconf.h
90pngwtran.o: png.h pngconf.h
91pngwutil.o: png.h pngconf.h
92pngpread.o: png.h pngconf.h
93
94