1
--- scripts/makefile.linux.orig 2005-05-24 23:51:41.077680137 +0000
2
+++ scripts/makefile.linux 2005-05-24 23:52:30.185700068 +0000
1
--- scripts/makefile.elf.old 2005-09-25 13:05:56.000000000 +0200
2
+++ scripts/makefile.elf 2005-09-25 13:22:35.000000000 +0200
4
4
# Copyright (C) 1996, 1997 Andreas Dilger
5
5
# For conditions of distribution and use, see copyright notice in png.h
7
7
+# Modified for Debian by Junichi Uekawa and Josselin Mouette
8
8
+# Major modifications are:
9
9
+# * link libpng explicitly with libz and libm
10
+# * libpng.so.2 is a symlink rather than a different library
10
+# * libpng.so.3 is a symlink rather than a different library
11
11
+# * versioned symbols
16
PNGVER = $(PNGMAJ).$(PNGMIN)
21
# where "make install" puts libpng10.a, libpng10.so*,
22
# libpng10/png.h and libpng10/pngconf.h
26
# Where the zlib library and include files are located.
27
-#ZLIBLIB=/usr/local/lib
28
-#ZLIBINC=/usr/local/include
32
+#ZLIBINC=/usr/include
38
16
@@ -31,11 +37,12 @@
40
18
# for pgcc version 2.95.1, -O3 is buggy; don't use it.
42
20
-CFLAGS=-I$(ZLIBINC) -Wall -O3 -funroll-loops \
43
21
- $(ALIGN) # $(WARNMORE) -g -DPNG_DEBUG=5
44
+CFLAGS= -Wall -D_REENTRANT \
22
+CFLAGS=-Wall -D_REENTRANT \
45
23
+ $(ALIGN) $(DEBCFLAGS) # $(WARNMORE) -g -DPNG_DEBUG=5
47
-LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng10 -lz -lm
25
-LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng12 -lz -lm
48
26
-LDFLAGS_A=-L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) libpng.a -lz -lm
50
+LDFLAGS_A=$(LIBNAME).a -lz -lm
28
+LDFLAGS_A=libpng.a -lz -lm
51
29
+LIBADDFLAGS=-lz -lm
57
$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
59
-all: libpng.a $(LIBNAME).so pngtest pngtest-static libpng.pc libpng-config
60
+all: libpng.a libpng.so libpng.so.2 pngtest pngtest-static libpng.pc libpng-config
63
+$(LIBNAME).a: $(OBJS)
68
- cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
69
+libpng.a: $(LIBNAME).a
73
+ cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > $@
76
+libpng.pc: $(LIBNAME).pc
34
cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
36
libpng.syms: png.h pngconf.h
37
- $(CC) $(CFLAGS) -E -DPNG_BUILDSYMS png.h |\
38
- awk -F '[\t [\]();]' 'BEGIN{print "{global:"}\
39
+ $(CC) $(CFLAGS) -E -DPNG_BUILDSYMS -DPNG_INTERNAL png.h |\
40
+ mawk -F '[\t [\]();]' -v PNGMAJ=$(PNGMAJ) 'BEGIN{printf("PNG12_%s {global:\n",PNGMAJ)}\
41
{ for (i=1;i+2<=NF;++i)\
42
if ($$(i)=="PNG_FUNCTION_EXPORT" && $$(i+2)=="END")\
80
45
( cat scripts/libpng-config-head.in; \
81
46
echo prefix=\"$(prefix)\"; \
82
47
echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
83
48
- echo L_opts=\"-L$(LIBPATH)\"; \
84
49
- echo R_opts=\"-Wl,-rpath,$(LIBPATH)\"; \
85
- echo libs=\"-lpng10 -lz -lm\"; \
86
- cat scripts/libpng-config-body.in ) > libpng-config
87
- chmod +x libpng-config
50
- echo libs=\"-lpng12 -lz -lm\"; \
88
51
+ echo L_opts=\"\"; \
89
52
+ echo R_opts=\"\"; \
90
+ echo libs=\"-lpng10\"; \
91
+ echo all_libs=\"-lpng10 $(LIBADDFLAGS)\"; \
92
+ cat scripts/libpng-config-body.in ) > $@
95
+libpng-config: $(LIBNAME)-config
98
$(LIBNAME).so: $(LIBNAME).so.$(PNGMAJ)
99
- ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so
102
$(LIBNAME).so.$(PNGMAJ): $(LIBNAME).so.$(PNGVER)
103
- ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ)
106
-$(LIBNAME).so.$(PNGVER): $(OBJSDLL)
53
+ echo libs=\"-lpng12\"; \
54
+ echo all_libs=\"-lpng12 $(LIBADDFLAGS)\"; \
55
cat scripts/libpng-config-body.in ) > libpng-config
56
chmod +x libpng-config
59
ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ)
61
$(LIBNAME).so.$(PNGVER): $(OBJSDLL) libpng.syms
107
62
- $(CC) -shared -Wl,-soname,$(LIBNAME).so.$(PNGMAJ) \
108
- -o $(LIBNAME).so.$(PNGVER) \
109
+$(LIBNAME).so.$(PNGVER): $(OBJSDLL) Versions
110
63
+ $(CC) -shared $(LIBADDFLAGS) -Wl,-soname,$(LIBNAME).so.$(PNGMAJ) \
111
+ -Wl,--version-script=Versions \
64
-Wl,-version-script,libpng.syms \
65
-o $(LIBNAME).so.$(PNGVER) \
115
-libpng.so.2.$(PNGMIN): $(OBJSDLL)
116
- $(CC) -shared -Wl,-soname,libpng.so.2 \
117
- -o libpng.so.2.$(PNGMIN) \
68
-libpng.so.3.$(PNGMIN): $(OBJSDLL) libpng.syms
69
- $(CC) -shared -Wl,-soname,libpng.so.3 \
70
- -Wl,-version-script,libpng.syms \
71
- -o libpng.so.3.$(PNGMIN) \
119
+Versions: $(OBJSDLL)
120
+ echo 'PNG10_$(PNGMAJ) {' > $@
121
+ nm $(OBJSDLL) | grep " [TtR] " | cut -d" " -f3 | sed -e 's/$$/;/' >> $@
124
+libpng.so.2: $(LIBNAME).so.$(PNGMAJ)
127
+libpng.so: $(LIBNAME).so
130
74
pngtest: pngtest.o $(LIBNAME).so
131
- $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
132
+ $(CC) -o $@ $(CFLAGS) pngtest.o $(LDFLAGS)
134
pngtest-static: pngtest.o libpng.a
135
- $(CC) -o pngtest-static $(CFLAGS) pngtest.o $(LDFLAGS_A)
136
+ $(CC) -o $@ $(CFLAGS) pngtest.o $(LDFLAGS_A)
138
test: pngtest pngtest-static
75
$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
140
79
@echo " Running pngtest dynamically linked with $(LIBNAME).so:"
145
84
@echo " Running pngtest statically linked with libpng.a:"
147
@@ -133,13 +157,12 @@
88
install-headers: png.h pngconf.h
89
- -@if [ ! -d $(DI) ]; then mkdir $(DI); fi
90
+ -@if [ ! -d $(DI) ]; then mkdir -p $(DI); fi
91
-@if [ ! -d $(DI)/$(LIBNAME) ]; then mkdir $(DI)/$(LIBNAME); fi
92
cp png.h pngconf.h $(DI)/$(LIBNAME)
93
chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
95
(cd $(DI); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
149
97
install-static: install-headers libpng.a
150
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
151
- cp libpng.a $(DL)/$(LIBNAME).a
152
+ cp $(LIBNAME).a $(DL)
98
- -@if [ ! -d $(DL) ]; then mkdir $(DL); fi
99
+ -@if [ ! -d $(DL) ]; then mkdir -p $(DL); fi
100
cp libpng.a $(DL)/$(LIBNAME).a
153
101
chmod 644 $(DL)/$(LIBNAME).a
154
102
-@/bin/rm -f $(DL)/libpng.a
155
103
(cd $(DL); ln -sf $(LIBNAME).a libpng.a)
157
105
-install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \
158
- libpng.so.2.$(PNGMIN)
106
- libpng.so.3.$(PNGMIN)
107
- -@if [ ! -d $(DL) ]; then mkdir $(DL); fi
159
108
+install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc
160
-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
109
+ -@if [ ! -d $(DL) ]; then mkdir -p $(DL); fi
161
110
-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so
162
111
-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)
163
@@ -151,10 +174,10 @@
112
-@/bin/rm -f $(DL)/libpng.so
113
-@/bin/rm -f $(DL)/libpng.so.3
114
-@/bin/rm -f $(DL)/libpng.so.3.$(PNGMIN)*
115
cp $(LIBNAME).so.$(PNGVER) $(DL)
116
- cp libpng.so.3.$(PNGMIN) $(DL)
164
117
chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
165
chmod 755 $(DL)/libpng.so.2.$(PNGMIN)
118
- chmod 755 $(DL)/libpng.so.3.$(PNGMIN)
167
- ln -sf libpng.so.2.$(PNGMIN) libpng.so.2; \
168
- ln -sf libpng.so.2 libpng.so; \
169
+ ln -sf $(LIBNAME).so.$(PNGVER) libpng.so.2; \
120
- ln -sf libpng.so.3.$(PNGMIN) libpng.so.3; \
121
- ln -sf libpng.so.3 libpng.so; \
122
+ ln -sf $(LIBNAME).so.$(PNGMAJ) libpng.so.3; \
123
+ ln -sf $(LIBNAME).so libpng.so; \
170
124
ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
171
- ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
172
+ ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so; \
173
+ ln -sf $(LIBNAME).so libpng.so)
125
ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
174
126
-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi
175
-@/bin/rm -f $(DL)/pkgconfig/$(LIBNAME).pc
176
-@/bin/rm -f $(DL)/pkgconfig/libpng.pc
178
-@if [ ! -d $(DB) ]; then mkdir $(DB); fi
128
(cd $(DL)/pkgconfig; ln -sf $(LIBNAME).pc libpng.pc)
130
install-man: libpng.3 libpngpf.3 png.5
131
- -@if [ ! -d $(DM) ]; then mkdir $(DM); fi
132
+ -@if [ ! -d $(DM) ]; then mkdir -p $(DM); fi
133
-@if [ ! -d $(DM)/man3 ]; then mkdir $(DM)/man3; fi
134
-@/bin/rm -f $(DM)/man3/libpng.3
135
-@/bin/rm -f $(DM)/man3/libpngpf.3
139
install-config: libpng-config
140
- -@if [ ! -d $(DB) ]; then mkdir $(DB); fi
141
+ -@if [ ! -d $(DB) ]; then mkdir -p $(DB); fi
179
142
-@/bin/rm -f $(DB)/libpng-config
180
143
-@/bin/rm -f $(DB)/$(LIBNAME)-config
181
- cp libpng-config $(DB)/$(LIBNAME)-config
182
+ cp $(LIBNAME)-config $(DB)
183
chmod 755 $(DB)/$(LIBNAME)-config
184
(cd $(DB); ln -sf $(LIBNAME)-config libpng-config)
186
@@ -197,17 +220,18 @@
187
./pngtestd pngtest.png
190
- $(CC) -I$(ZLIBINC) \
192
`$(BINPATH)/libpng10-config --cflags` pngtest.c \
193
- -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) \
194
-o pngtesti `$(BINPATH)/libpng10-config --ldflags`
195
./pngtesti pngtest.png
198
/bin/rm -f *.o libpng.a pngtest pngout.png libpng-config \
199
$(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* pngtest-static pngtesti \
200
- libpng.so.2.$(PNGMIN) \
202
+ libpng.so.2 libpng.so $(LIBNAME)-config $(LIBNAME).a $(LIBNAME).pc \
205
+.PHONY: writelock clean test-installed install install-static install-shared install-man install-config install-headers test
207
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
144
cp libpng-config $(DB)/$(LIBNAME)-config