1 # makefile for libpng.a and libpng12.so on Linux ELF with gcc |
1 # makefile for libpng.a and libpng14.so on Linux ELF with gcc |
2 # Copyright (C) 1998, 1999, 2002, 2006, 2008 Greg Roelofs and |
2 # Copyright (C) 1998, 1999, 2002, 2006, 2008 Greg Roelofs and |
3 # Glenn Randers-Pehrson |
3 # Glenn Randers-Pehrson |
4 # Copyright (C) 1996, 1997 Andreas Dilger |
4 # Copyright (C) 1996, 1997 Andreas Dilger |
5 |
5 # |
6 # This code is released under the libpng license. |
6 # This code is released under the libpng license. |
7 # For conditions of distribution and use, see the disclaimer |
7 # For conditions of distribution and use, see the disclaimer |
8 # and license in png.h |
8 # and license in png.h |
9 |
9 |
10 # Library name: |
10 # Library name: |
11 LIBNAME = libpng12 |
11 LIBNAME = libpng14 |
12 PNGMAJ = 0 |
12 PNGMAJ = 14 |
13 PNGMIN = 1.2.40 |
13 PNGMIN = 1.4.0 |
14 PNGVER = $(PNGMAJ).$(PNGMIN) |
14 PNGVER = $(PNGMAJ).$(PNGMIN) |
15 |
15 |
16 # Shared library names: |
16 # Shared library names: |
17 LIBSO=$(LIBNAME).so |
17 LIBSO=$(LIBNAME).so |
18 LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ) |
18 LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ) |
19 LIBSOVER=$(LIBNAME).so.$(PNGVER) |
19 LIBSOVER=$(LIBNAME).so.$(PNGVER) |
20 OLDSO=libpng.so |
20 OLDSO=libpng.so |
21 OLDSOMAJ=libpng.so.3 |
21 OLDSOMAJ=libpng.so.14 |
22 OLDSOVER=libpng.so.3.$(PNGMIN) |
22 OLDSOVER=libpng.so.14.$(PNGMIN) |
23 |
23 |
24 # Utilities: |
24 # Utilities: |
25 AR_RC=ar rc |
25 AR_RC=ar rc |
26 CC=gcc |
26 CC=gcc |
27 MKDIR_P=mkdir -p |
27 MKDIR_P=mkdir -p |
28 LN_SF=ln -sf |
28 LN_SF=ln -sf |
29 RANLIB=ranlib |
29 RANLIB=ranlib |
30 RM_F=/bin/rm -f |
30 RM_F=/bin/rm -f |
31 |
31 |
32 # where "make install" puts libpng12.a, libpng12.so*, |
32 # where "make install" puts libpng14.a, libpng14.so*, |
33 # libpng12/png.h and libpng12/pngconf.h |
33 # libpng14/png.h and libpng14/pngconf.h |
34 # Prefix must be a full pathname. |
34 # Prefix must be a full pathname. |
35 prefix=/usr/local |
35 prefix=/usr/local |
36 exec_prefix=$(prefix) |
36 exec_prefix=$(prefix) |
37 |
37 |
38 # Where the zlib library and include files are located. |
38 # Where the zlib library and include files are located. |
49 -Wmissing-declarations -Wtraditional -Wcast-align \ |
49 -Wmissing-declarations -Wtraditional -Wcast-align \ |
50 -Wstrict-prototypes -Wmissing-prototypes #-Wconversion |
50 -Wstrict-prototypes -Wmissing-prototypes #-Wconversion |
51 |
51 |
52 # for pgcc version 2.95.1, -O3 is buggy; don't use it. |
52 # for pgcc version 2.95.1, -O3 is buggy; don't use it. |
53 |
53 |
54 CFLAGS=-I$(ZLIBINC) -W -Wall -O3 -funroll-loops -DPNG_NO_MMX_CODE \ |
54 CFLAGS=-I$(ZLIBINC) -W -Wall -O3 -funroll-loops \ |
55 $(ALIGN) # $(WARNMORE) -g -DPNG_DEBUG=5 |
55 $(ALIGN) # $(WARNMORE) -g -DPNG_DEBUG=5 |
56 |
56 |
57 LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng12 -lz -lm |
57 LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng14 -lz -lm |
58 LDFLAGS_A=-L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) libpng.a -lz -lm |
58 LDFLAGS_A=-L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) libpng.a -lz -lm |
59 |
59 |
60 INCPATH=$(prefix)/include |
60 INCPATH=$(prefix)/include |
61 LIBPATH=$(exec_prefix)/lib |
61 LIBPATH=$(exec_prefix)/lib |
62 MANPATH=$(prefix)/man |
62 MANPATH=$(prefix)/man |
97 libpng.pc: |
97 libpng.pc: |
98 cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \ |
98 cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \ |
99 -e s!@exec_prefix@!$(exec_prefix)! \ |
99 -e s!@exec_prefix@!$(exec_prefix)! \ |
100 -e s!@libdir@!$(LIBPATH)! \ |
100 -e s!@libdir@!$(LIBPATH)! \ |
101 -e s!@includedir@!$(INCPATH)! \ |
101 -e s!@includedir@!$(INCPATH)! \ |
102 -e s!-lpng12!-lpng12\ -lz\ -lm! > libpng.pc |
102 -e s!-lpng14!-lpng14\ -lz\ -lm! > libpng.pc |
103 |
103 |
104 libpng-config: |
104 libpng-config: |
105 ( cat scripts/libpng-config-head.in; \ |
105 ( cat scripts/libpng-config-head.in; \ |
106 echo prefix=\"$(prefix)\"; \ |
106 echo prefix=\"$(prefix)\"; \ |
107 echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \ |
107 echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \ |
108 echo L_opts=\"-L$(LIBPATH)\"; \ |
108 echo L_opts=\"-L$(LIBPATH)\"; \ |
109 echo R_opts=\"-Wl,-rpath,$(LIBPATH)\"; \ |
109 echo R_opts=\"-Wl,-rpath,$(LIBPATH)\"; \ |
110 echo libs=\"-lpng12 -lz -lm\"; \ |
110 echo libs=\"-lpng14 -lz -lm\"; \ |
111 cat scripts/libpng-config-body.in ) > libpng-config |
111 cat scripts/libpng-config-body.in ) > libpng-config |
112 chmod +x libpng-config |
112 chmod +x libpng-config |
113 |
113 |
114 $(LIBSO): $(LIBSOMAJ) |
114 $(LIBSO): $(LIBSOMAJ) |
115 $(LN_SF) $(LIBSOMAJ) $(LIBSO) |
115 $(LN_SF) $(LIBSOMAJ) $(LIBSO) |
232 writelock: |
232 writelock: |
233 chmod a-w *.[ch35] $(DOCS) scripts/* |
233 chmod a-w *.[ch35] $(DOCS) scripts/* |
234 |
234 |
235 # DO NOT DELETE THIS LINE -- make depend depends on it. |
235 # DO NOT DELETE THIS LINE -- make depend depends on it. |
236 |
236 |
237 png.o png.pic.o: png.h pngconf.h |
237 png.o png.pic.o: png.h pngconf.h pngpriv.h |
238 pngerror.o pngerror.pic.o: png.h pngconf.h |
238 pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h |
239 pngrio.o pngrio.pic.o: png.h pngconf.h |
239 pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h |
240 pngwio.o pngwio.pic.o: png.h pngconf.h |
240 pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h |
241 pngmem.o pngmem.pic.o: png.h pngconf.h |
241 pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h |
242 pngset.o pngset.pic.o: png.h pngconf.h |
242 pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h |
243 pngget.o pngget.pic.o: png.h pngconf.h |
243 pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h |
244 pngread.o pngread.pic.o: png.h pngconf.h |
244 pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h |
245 pngrtran.o pngrtran.pic.o: png.h pngconf.h |
245 pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h |
246 pngrutil.o pngrutil.pic.o: png.h pngconf.h |
246 pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h |
247 pngtrans.o pngtrans.pic.o: png.h pngconf.h |
247 pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h |
248 pngwrite.o pngwrite.pic.o: png.h pngconf.h |
248 pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h |
249 pngwtran.o pngwtran.pic.o: png.h pngconf.h |
249 pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h |
250 pngwutil.o pngwutil.pic.o: png.h pngconf.h |
250 pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h |
251 pngpread.o pngpread.pic.o: png.h pngconf.h |
251 pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h |
252 |
252 |
253 pngtest.o: png.h pngconf.h |
253 pngtest.o: png.h pngconf.h |