1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
--- scripts/makefile.std.orig Fri Jul 31 23:15:22 1998
+++ scripts/makefile.std Sat Jan 23 14:08:51 1999
@@ -2,18 +2,30 @@
# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
# For conditions of distribution and use, see copyright notice in png.h
+# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
+# have to change it.
+# I bump PNGMAJ to 3, because imlib can't work with png 1.0.2.
+# I should bump PNGMAJ for ports depend.
+PNGMAJ = 3
+.if (${PORTOBJFORMAT} == "elf")
+PNGVER = $(PNGMAJ)
+.else
+PNGMIN = 0
+PNGVER = $(PNGMAJ).$(PNGMIN)
+.endif
+
# where make install puts libpng.a and png.h
-prefix=/usr/local
+prefix=${PREFIX}
# Where the zlib library and include files are located
#ZLIBLIB=/usr/local/lib
#ZLIBINC=/usr/local/include
-ZLIBLIB=../zlib
-ZLIBINC=../zlib
+#ZLIBLIB=../zlib
+#ZLIBINC=../zlib
-CC=cc
-CFLAGS=-I$(ZLIBINC) -O # -g -DPNG_DEBUG=5
-LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
+#CC=cc
+CFLAGS+=-I.
+LDFLAGS+=-L. -lpng -lz -lm -static
#RANLIB=echo
RANLIB=ranlib
@@ -22,12 +34,24 @@
pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
pngwtran.o pngmem.o pngerror.o pngpread.o
-all: libpng.a pngtest
+.SUFFIXES: .c .so .o
+
+.c.so:
+ ${CC} -fpic -DPIC ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
+
+all: libpng.a libpng.so.${PNGVER}
libpng.a: $(OBJS)
ar rc $@ $(OBJS)
$(RANLIB) $@
+libpng.so.${PNGVER}: $(OBJS:S/o$/so/g)
+.if (${PORTOBJFORMAT} == "elf")
+ ${CC} -shared -Wl,-x -Wl,-assert -Wl,pure-text -Wl,-soname,$@ -o $@ $(OBJS:S/o$/so/g) -lz -lm
+.else
+ ${CC} -shared -Wl,-x -Wl,-assert -Wl,pure-text -o $@ $(OBJS:S/o$/so/g) -lz -lm
+.endif
+
pngtest: pngtest.o libpng.a
$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
@@ -37,12 +61,12 @@
install: libpng.a
-@mkdir $(prefix)/include
-@mkdir $(prefix)/lib
- cp png.h $(prefix)/include
- cp pngconf.h $(prefix)/include
- chmod 644 $(prefix)/include/png.h
- chmod 644 $(prefix)/include/pngconf.h
- cp libpng.a $(prefix)/lib
- chmod 644 $(prefix)/lib/libpng.a
+ ${INSTALL} -c -m ${BINMODE} -o ${BINOWN} -g ${BINGRP} png.h pngconf.h $(prefix)/include
+ ${INSTALL} -c -m ${BINMODE} -o ${BINOWN} -g ${BINGRP} libpng.a libpng.so.${PNGVER} $(prefix)/lib
+ ln -sf libpng.so.${PNGVER} $(prefix)/lib/libpng.so
+ ranlib $(prefix)/lib/libpng.a
+ ${INSTALL} -c -m ${MANMODE} -o ${MANOWN} -g ${MANGRP} libpng.3 libpngpf.3 $(prefix)/man/man3
+ ${INSTALL} -c -m ${MANMODE} -o ${MANOWN} -g ${MANGRP} png.5 $(prefix)/man/man5
clean:
rm -f *.o libpng.a pngtest pngout.png
|