1 # makefile for libpng on Linux ELF with gcc
2 # Copyright (C) 1996, 1997 Andreas Dilger
3 # Copyright (C) 1998 Greg Roelofs
4 # For conditions of distribution and use, see copyright notice in png.h
8 # Where the zlib library and include files are located
9 #ZLIBLIB=/usr/local/lib
10 #ZLIBINC=/usr/local/include
14 WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
15 -Wmissing-declarations -Wtraditional -Wcast-align \
16 -Wstrict-prototypes -Wmissing-prototypes #-Wconversion
17 CFLAGS=-I$(ZLIBINC) -Wall -O3 -funroll-loops -malign-loops=2 \
18 -malign-functions=2 #$(WARNMORE) -g -DPNG_DEBUG=5
19 LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng -lz -lm
24 # read libpng.txt or png.h to see why PNGMAJ is 2. You should not
28 PNGVER = $(PNGMAJ).$(PNGMIN)
30 # where make install puts libpng.a, libpng.so*, and png.h
32 INCPATH=$(prefix)/include
35 OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
36 pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
37 pngwtran.o pngmem.o pngerror.o pngpread.o
39 OBJSDLL = $(OBJS:.o=.pic.o)
41 .SUFFIXES: .c .o .pic.o
44 $(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
46 all: libpng.a libpng.so pngtest
52 libpng.so: libpng.so.$(PNGMAJ)
53 ln -sf libpng.so.$(PNGMAJ) libpng.so
55 libpng.so.$(PNGMAJ): libpng.so.$(PNGVER)
56 ln -sf libpng.so.$(PNGVER) libpng.so.$(PNGMAJ)
58 libpng.so.$(PNGVER): $(OBJSDLL)
59 $(CC) -shared -Wl,-soname,libpng.so.$(PNGMAJ) -o libpng.so.$(PNGVER) \
62 pngtest: pngtest.o libpng.so
63 $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
68 install: libpng.a libpng.so.$(PNGVER)
69 -@mkdir $(INCPATH) $(LIBPATH)
70 cp png.h pngconf.h $(INCPATH)
71 chmod 644 $(INCPATH)/png.h $(INCPATH)/pngconf.h
72 cp libpng.a libpng.so.$(PNGVER) $(LIBPATH)
73 chmod 755 $(LIBPATH)/libpng.so.$(PNGVER)
74 -@/bin/rm -f $(LIBPATH)/libpng.so.$(PNGMAJ) $(LIBPATH)/libpng.so
75 (cd $(LIBPATH); ln -sf libpng.so.$(PNGVER) libpng.so.$(PNGMAJ); \
76 ln -sf libpng.so.$(PNGMAJ) libpng.so)
79 /bin/rm -f *.o libpng.a libpng.so* pngtest pngout.png
81 # DO NOT DELETE THIS LINE -- make depend depends on it.
83 png.o png.pic.o: png.h pngconf.h
84 pngerror.o pngerror.pic.o: png.h pngconf.h
85 pngrio.o pngrio.pic.o: png.h pngconf.h
86 pngwio.o pngwio.pic.o: png.h pngconf.h
87 pngmem.o pngmem.pic.o: png.h pngconf.h
88 pngset.o pngset.pic.o: png.h pngconf.h
89 pngget.o pngget.pic.o: png.h pngconf.h
90 pngread.o pngread.pic.o: png.h pngconf.h
91 pngrtran.o pngrtran.pic.o: png.h pngconf.h
92 pngrutil.o pngrutil.pic.o: png.h pngconf.h
93 pngtrans.o pngtrans.pic.o: png.h pngconf.h
94 pngwrite.o pngwrite.pic.o: png.h pngconf.h
95 pngwtran.o pngwtran.pic.o: png.h pngconf.h
96 pngwutil.o pngwutil.pic.o: png.h pngconf.h
97 pngpread.o pngpread.pic.o: png.h pngconf.h
99 pngtest.o: png.h pngconf.h