Glenn Randers-Pehrson | 4fb046a | 2002-04-15 09:25:51 -0500 | [diff] [blame] | 1 | # makefile for libpng under FreeBSD |
| 2 | # Copyright (C) 2002 Glenn Randers-Pehrson and Andrey A. Chernov |
| 3 | # Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc. |
| 4 | # For conditions of distribution and use, see copyright notice in png.h |
| 5 | |
Glenn Randers-Pehrson | 03008a0 | 2002-04-27 10:11:25 -0500 | [diff] [blame] | 6 | .include <bsd.own.mk> |
| 7 | |
Glenn Randers-Pehrson | 4fb046a | 2002-04-15 09:25:51 -0500 | [diff] [blame] | 8 | # where make install puts libpng.a and png.h |
| 9 | prefix=/usr/local |
Glenn Randers-Pehrson | 03008a0 | 2002-04-27 10:11:25 -0500 | [diff] [blame] | 10 | INCPATH=$(prefix)/include |
| 11 | LIBPATH=$(prefix)/lib |
| 12 | MANPATH=$(prefix)/man |
| 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, that location must already exist before |
| 21 | # you execute make install. |
| 22 | DESTDIR= |
Glenn Randers-Pehrson | 4fb046a | 2002-04-15 09:25:51 -0500 | [diff] [blame] | 23 | |
| 24 | PNGMAJ= 5 |
| 25 | .if (${OBJFORMAT} == "elf") |
| 26 | PNGVER= $(PNGMAJ) |
| 27 | .else |
| 28 | PNGMIN= 0 |
| 29 | PNGVER= $(PNGMAJ).$(PNGMIN) |
| 30 | .endif |
| 31 | |
| 32 | CFLAGS+= -I. -DPNG_USE_PNGGCCRD |
| 33 | .if (${MACHINE_ARCH} != "i386") |
| 34 | CFLAGS+= -DPNG_NO_ASSEMBLER_CODE |
| 35 | .endif |
| 36 | LDFLAGS+=-L. -lpng -lz -lm -static |
| 37 | |
| 38 | OBJS = 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 pnggccrd.o |
| 41 | |
| 42 | .SUFFIXES: .c .so .o |
| 43 | |
| 44 | .c.so: |
| 45 | ${CC} ${CFLAGS} -fPIC -DPIC -o $@ -c $< |
| 46 | |
| 47 | all: libpng.a libpng.so.${PNGVER} pngtest |
| 48 | |
| 49 | libpng.a: $(OBJS) |
| 50 | ar rc $@ $(OBJS) |
| 51 | $(RANLIB) $@ |
| 52 | |
| 53 | libpng.so.${PNGVER}: $(OBJS:S/o$/so/g) |
| 54 | .if (${OBJFORMAT} == "elf") |
| 55 | ${CC} -shared -Wl,-x,-soname,$@ -o $@ $(OBJS:S/o$/so/g) -lz -lm |
| 56 | .else |
| 57 | ${CC} -shared -Wl,-x -o $@ $(OBJS:S/o$/so/g) -lz -lm |
| 58 | .endif |
| 59 | |
| 60 | pngtest: pngtest.o libpng.a |
| 61 | $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS) |
| 62 | |
| 63 | test: pngtest |
| 64 | ./pngtest |
| 65 | |
| 66 | install: libpng.a libpng.so.${PNGVER} |
Glenn Randers-Pehrson | 03008a0 | 2002-04-27 10:11:25 -0500 | [diff] [blame] | 67 | -@mkdir $(DESTDIR)$(INCPATH)/libpng |
Glenn Randers-Pehrson | 4fb046a | 2002-04-15 09:25:51 -0500 | [diff] [blame] | 68 | ${INSTALL} -o ${INCOWN} -g ${INCGRP} -m ${INCMODE} \ |
Glenn Randers-Pehrson | 03008a0 | 2002-04-27 10:11:25 -0500 | [diff] [blame] | 69 | png.h pngconf.h $(DESTDIR)$(INCPATH)/libpng |
| 70 | (cd $(DESTDIR)$(INCPATH); rm -f png.h pngconf.h; ln -sf libpng/*.h .) |
Glenn Randers-Pehrson | 4fb046a | 2002-04-15 09:25:51 -0500 | [diff] [blame] | 71 | ${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ |
Glenn Randers-Pehrson | 03008a0 | 2002-04-27 10:11:25 -0500 | [diff] [blame] | 72 | libpng.a libpng.so.${PNGVER} $(DESTDIR)$(LIBPATH) |
| 73 | $(RANLIB) $(DESTDIR)$(LIBPATH)/libpng.a |
| 74 | ln -sf libpng.so.${PNGVER} $(DESTDIR)$(LIBPATH)/libpng.so |
Glenn Randers-Pehrson | 4fb046a | 2002-04-15 09:25:51 -0500 | [diff] [blame] | 75 | /sbin/ldconfig -R |
| 76 | ${INSTALL} -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} \ |
Glenn Randers-Pehrson | 03008a0 | 2002-04-27 10:11:25 -0500 | [diff] [blame] | 77 | libpng.3 libpngpf.3 $(DESTDIR)$(MANPATH)/man3 |
Glenn Randers-Pehrson | 4fb046a | 2002-04-15 09:25:51 -0500 | [diff] [blame] | 78 | ${INSTALL} -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} \ |
Glenn Randers-Pehrson | 03008a0 | 2002-04-27 10:11:25 -0500 | [diff] [blame] | 79 | png.5 $(DESTDIR)$(MANPATH)/man5 |
Glenn Randers-Pehrson | 4fb046a | 2002-04-15 09:25:51 -0500 | [diff] [blame] | 80 | |
| 81 | clean: |
Glenn Randers-Pehrson | 03008a0 | 2002-04-27 10:11:25 -0500 | [diff] [blame] | 82 | rm -f *.o *.so libpng.a libpng.so.${PNGVER} pngtest pngout.png |
Glenn Randers-Pehrson | 4fb046a | 2002-04-15 09:25:51 -0500 | [diff] [blame] | 83 | |
| 84 | DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO |
| 85 | writelock: |
| 86 | chmod a-w *.[ch35] $(DOCS) scripts/* |
| 87 | |
| 88 | # DO NOT DELETE THIS LINE -- make depend depends on it. |
| 89 | |
| 90 | png.o: png.h pngconf.h |
| 91 | pngerror.o: png.h pngconf.h |
| 92 | pngrio.o: png.h pngconf.h |
| 93 | pngwio.o: png.h pngconf.h |
| 94 | pngmem.o: png.h pngconf.h |
| 95 | pngset.o: png.h pngconf.h |
| 96 | pngget.o: png.h pngconf.h |
| 97 | pngread.o: png.h pngconf.h |
| 98 | pngrtran.o: png.h pngconf.h |
| 99 | pngrutil.o: png.h pngconf.h |
| 100 | pngtest.o: png.h pngconf.h |
| 101 | pngtrans.o: png.h pngconf.h |
| 102 | pngwrite.o: png.h pngconf.h |
| 103 | pngwtran.o: png.h pngconf.h |
| 104 | pngwutil.o: png.h pngconf.h |
| 105 | pngpread.o: png.h pngconf.h |
| 106 | pnggccrd.o: png.h pngconf.h |
| 107 | |