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