| # makefile for libpng under FreeBSD |
| # Copyright (C) 2002 Glenn Randers-Pehrson and Andrey A. Chernov |
| # Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc. |
| # For conditions of distribution and use, see copyright notice in png.h |
| |
| # where make install puts libpng.a and png.h |
| prefix=/usr/local |
| |
| PNGMAJ= 5 |
| .if (${OBJFORMAT} == "elf") |
| PNGVER= $(PNGMAJ) |
| .else |
| PNGMIN= 0 |
| PNGVER= $(PNGMAJ).$(PNGMIN) |
| .endif |
| |
| CFLAGS+= -I. -DPNG_USE_PNGGCCRD |
| .if (${MACHINE_ARCH} != "i386") |
| CFLAGS+= -DPNG_NO_ASSEMBLER_CODE |
| .endif |
| LDFLAGS+=-L. -lpng -lz -lm -static |
| |
| OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \ |
| pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \ |
| pngwtran.o pngmem.o pngerror.o pngpread.o pnggccrd.o |
| |
| .SUFFIXES: .c .so .o |
| |
| .c.so: |
| ${CC} ${CFLAGS} -fPIC -DPIC -o $@ -c $< |
| |
| all: libpng.a libpng.so.${PNGVER} pngtest |
| |
| libpng.a: $(OBJS) |
| ar rc $@ $(OBJS) |
| $(RANLIB) $@ |
| |
| libpng.so.${PNGVER}: $(OBJS:S/o$/so/g) |
| .if (${OBJFORMAT} == "elf") |
| ${CC} -shared -Wl,-x,-soname,$@ -o $@ $(OBJS:S/o$/so/g) -lz -lm |
| .else |
| ${CC} -shared -Wl,-x -o $@ $(OBJS:S/o$/so/g) -lz -lm |
| .endif |
| |
| pngtest: pngtest.o libpng.a |
| $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS) |
| |
| test: pngtest |
| ./pngtest |
| |
| install: libpng.a libpng.so.${PNGVER} |
| -@mkdir $(prefix)/include/libpng |
| ${INSTALL} -o ${INCOWN} -g ${INCGRP} -m ${INCMODE} \ |
| png.h pngconf.h $(prefix)/include/libpng |
| ln -sf libpng/png.h $(prefix)/include/png.h |
| ln -sf libpng/pngconf.h $(prefix)/include/pngconf.h |
| ${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ |
| libpng.a libpng.so.${PNGVER} $(prefix)/lib |
| $(RANLIB) $(prefix)/lib/libpng.a |
| ln -sf libpng.so.${PNGVER} $(prefix)/lib/libpng.so |
| /sbin/ldconfig -R |
| ${INSTALL} -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} \ |
| libpng.3 libpngpf.3 $(prefix)/man/man3 |
| ${INSTALL} -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} \ |
| png.5 $(prefix)/man/man5 |
| |
| clean: |
| rm -f *.o libpng.a libpng.so libpng.so.${PNGVER} pngtest pngout.png |
| |
| DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO |
| writelock: |
| chmod a-w *.[ch35] $(DOCS) scripts/* |
| |
| # DO NOT DELETE THIS LINE -- make depend depends on it. |
| |
| png.o: png.h pngconf.h |
| pngerror.o: png.h pngconf.h |
| pngrio.o: png.h pngconf.h |
| pngwio.o: png.h pngconf.h |
| pngmem.o: png.h pngconf.h |
| pngset.o: png.h pngconf.h |
| pngget.o: png.h pngconf.h |
| pngread.o: png.h pngconf.h |
| pngrtran.o: png.h pngconf.h |
| pngrutil.o: png.h pngconf.h |
| pngtest.o: png.h pngconf.h |
| pngtrans.o: png.h pngconf.h |
| pngwrite.o: png.h pngconf.h |
| pngwtran.o: png.h pngconf.h |
| pngwutil.o: png.h pngconf.h |
| pngpread.o: png.h pngconf.h |
| pnggccrd.o: png.h pngconf.h |
| |