5 # |
5 # |
6 # Copyright (C) 2002, 2006-2008 Soren Anderson, Charles Wilson, |
6 # Copyright (C) 2002, 2006-2008 Soren Anderson, Charles Wilson, |
7 # and Glenn Randers-Pehrson, based on makefile for linux-elf w/mmx by: |
7 # and Glenn Randers-Pehrson, based on makefile for linux-elf w/mmx by: |
8 # Copyright (C) 1998-2000 Greg Roelofs |
8 # Copyright (C) 1998-2000 Greg Roelofs |
9 # Copyright (C) 1996, 1997 Andreas Dilger |
9 # Copyright (C) 1996, 1997 Andreas Dilger |
10 |
10 # |
11 # This code is released under the libpng license. |
11 # This code is released under the libpng license. |
12 # For conditions of distribution and use, see the disclaimer |
12 # For conditions of distribution and use, see the disclaimer |
13 # and license in png.h |
13 # and license in png.h |
14 |
14 |
15 # This makefile intends to support building outside the src directory |
15 # This makefile intends to support building outside the src directory |
59 |
59 |
60 WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \ |
60 WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \ |
61 -Wmissing-declarations -Wtraditional -Wcast-align \ |
61 -Wmissing-declarations -Wtraditional -Wcast-align \ |
62 -Wstrict-prototypes -Wmissing-prototypes #-Wconversion |
62 -Wstrict-prototypes -Wmissing-prototypes #-Wconversion |
63 |
63 |
64 ### if you don't need thread safety, but want the asm accel |
|
65 #CFLAGS= $(strip $(MINGW_CCFLAGS) -DPNG_THREAD_UNSAFE_OK \ |
|
66 # $(addprefix -I,$(ZLIBINC)) -W -Wall -O $(ALIGN) -funroll-loops \ |
|
67 # -fomit-frame-pointer) # $(WARNMORE) -g -DPNG_DEBUG=5 |
|
68 ### if you need thread safety and want (minimal) asm accel |
|
69 #CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \ |
|
70 # -W -Wall -O $(ALIGN) -funroll-loops \ |
|
71 # -fomit-frame-pointer) # $(WARNMORE) -g -DPNG_DEBUG=5 |
|
72 ### Normal (non-asm) compilation |
|
73 CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \ |
64 CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \ |
74 -W -Wall -O3 $(ALIGN) -funroll-loops -DPNG_NO_MMX_CODE \ |
65 -W -Wall -O3 $(ALIGN) -funroll-loops \ |
75 -fomit-frame-pointer) # $(WARNMORE) -g -DPNG_DEBUG=5 |
66 -fomit-frame-pointer) # $(WARNMORE) -g -DPNG_DEBUG=5 |
76 |
67 |
77 LIBNAME = libpng12 |
68 LIBNAME = libpng14 |
78 PNGMAJ = 0 |
69 PNGMAJ = 14 |
79 CYGDLL = 12 |
70 CYGDLL = 14 |
80 PNGMIN = 1.2.40 |
71 PNGMIN = 1.4.0 |
81 PNGVER = $(PNGMAJ).$(PNGMIN) |
72 PNGVER = $(PNGMAJ).$(PNGMIN) |
82 |
73 |
83 SHAREDLIB=cygpng$(CYGDLL).dll |
74 SHAREDLIB=cygpng$(CYGDLL).dll |
84 STATLIB=libpng.a |
75 STATLIB=libpng.a |
85 IMPLIB=libpng.dll.a |
76 IMPLIB=libpng.dll.a |
139 using PREFIX=\"$(prefix)\"'\n' |
130 using PREFIX=\"$(prefix)\"'\n' |
140 cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \ |
131 cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \ |
141 -e s!@exec_prefix@!$(exec_prefix)! \ |
132 -e s!@exec_prefix@!$(exec_prefix)! \ |
142 -e s!@libdir@!$(LIBPATH)! \ |
133 -e s!@libdir@!$(LIBPATH)! \ |
143 -e s!@includedir@!$(INCPATH)! \ |
134 -e s!@includedir@!$(INCPATH)! \ |
144 -e s!-lpng12!-lpng12\ -lz! > libpng.pc |
135 -e s!-lpng14!-lpng14\ -lz! > libpng.pc |
145 |
136 |
146 libpng-config: scripts/libpng-config-head.in scripts/libpng-config-body.in |
137 libpng-config: scripts/libpng-config-head.in scripts/libpng-config-body.in |
147 @echo -e Making $(LIBNAME) libpng-config file for this libpng \ |
138 @echo -e Making $(LIBNAME) libpng-config file for this libpng \ |
148 installation..'\n' using PREFIX=\"$(prefix)\"'\n' |
139 installation..'\n' using PREFIX=\"$(prefix)\"'\n' |
149 ( cat $(S)/scripts/libpng-config-head.in; \ |
140 ( cat $(S)/scripts/libpng-config-head.in; \ |
161 |
152 |
162 $(STATLIB): $(OBJS) |
153 $(STATLIB): $(OBJS) |
163 ar rc $@ $(OBJS) |
154 ar rc $@ $(OBJS) |
164 $(RANLIB) $@ |
155 $(RANLIB) $@ |
165 |
156 |
166 $(SHAREDDEF): scripts/pngw32.def |
157 $(SHAREDDEF): scripts/pngwin.def |
167 cat $< | sed -e '1{G;s/^\(.*\)\(\n\)/EXPORTS/;};2,/^EXPORTS/d' | \ |
158 cat $< | sed -e '1{G;s/^\(.*\)\(\n\)/EXPORTS/;};2,/^EXPORTS/d' | \ |
168 sed -e 's/\([^;]*\);/;/' > $@ |
159 sed -e 's/\([^;]*\);/;/' > $@ |
169 |
160 |
170 $(SHAREDLIB): $(OBJSDLL) $(SHAREDDEF) |
161 $(SHAREDLIB): $(OBJSDLL) $(SHAREDDEF) |
171 $(CC) $(LDSFLAGS) -o $@ $(OBJSDLL) -L. $(LDEXTRA) |
162 $(CC) $(LDSFLAGS) -o $@ $(OBJSDLL) -L. $(LDEXTRA) |
252 |
243 |
253 test-dd: |
244 test-dd: |
254 echo |
245 echo |
255 echo Testing installed dynamic shared library in $(DL). |
246 echo Testing installed dynamic shared library in $(DL). |
256 $(CC) -I$(DI) $(CFLAGS) \ |
247 $(CC) -I$(DI) $(CFLAGS) \ |
257 `$(BINPATH)/libpng12-config --cflags` pngtest.c \ |
248 `$(BINPATH)/libpng14-config --cflags` pngtest.c \ |
258 -L$(DL) -L$(ZLIBLIB) \ |
249 -L$(DL) -L$(ZLIBLIB) \ |
259 -o pngtestd `$(BINPATH)/libpng12-config --ldflags` |
250 -o pngtestd `$(BINPATH)/libpng14-config --ldflags` |
260 ./pngtestd pngtest.png |
251 ./pngtestd pngtest.png |
261 |
252 |
262 test-installed: |
253 test-installed: |
263 $(CC) $(CFLAGS) \ |
254 $(CC) $(CFLAGS) \ |
264 `$(BINPATH)/libpng12-config --cflags` pngtest.c \ |
255 `$(BINPATH)/libpng14-config --cflags` pngtest.c \ |
265 -L$(ZLIBLIB) \ |
256 -L$(ZLIBLIB) \ |
266 -o pngtesti$(EXE) `$(BINPATH)/libpng12-config --ldflags` |
257 -o pngtesti$(EXE) `$(BINPATH)/libpng14-config --ldflags` |
267 ./pngtesti$(EXE) pngtest.png |
258 ./pngtesti$(EXE) pngtest.png |
268 |
259 |
269 clean: |
260 clean: |
270 /bin/rm -f *.pic.o *.o $(STATLIB) $(IMPLIB) $(SHAREDLIB) \ |
261 /bin/rm -f *.pic.o *.o $(STATLIB) $(IMPLIB) $(SHAREDLIB) \ |
271 pngtest-stat$(EXE) pngtest$(EXE) pngout.png $(SHAREDDEF) \ |
262 pngtest-stat$(EXE) pngtest$(EXE) pngout.png $(SHAREDDEF) \ |
277 |
268 |
278 .PHONY: buildsetup-tell libpng.pc libpng-config test-config-install clean |
269 .PHONY: buildsetup-tell libpng.pc libpng-config test-config-install clean |
279 |
270 |
280 # DO NOT DELETE THIS LINE -- make depend depends on it. |
271 # DO NOT DELETE THIS LINE -- make depend depends on it. |
281 |
272 |
282 png.o png.pic.o: png.h pngconf.h png.c |
273 png.o png.pic.o: png.h pngconf.h pngpriv.h png.c |
283 pngerror.o pngerror.pic.o: png.h pngconf.h pngerror.c |
274 pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h pngerror.c |
284 pngrio.o pngrio.pic.o: png.h pngconf.h pngrio.c |
275 pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h pngrio.c |
285 pngwio.o pngwio.pic.o: png.h pngconf.h pngwio.c |
276 pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h pngwio.c |
286 pngmem.o pngmem.pic.o: png.h pngconf.h pngmem.c |
277 pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h pngmem.c |
287 pngset.o pngset.pic.o: png.h pngconf.h pngset.c |
278 pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h pngset.c |
288 pngget.o pngget.pic.o: png.h pngconf.h pngget.c |
279 pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h pngget.c |
289 pngread.o pngread.pic.o: png.h pngconf.h pngread.c |
280 pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h pngread.c |
290 pngrtran.o pngrtran.pic.o: png.h pngconf.h pngrtran.c |
281 pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h pngrtran.c |
291 pngrutil.o pngrutil.pic.o: png.h pngconf.h pngrutil.c |
282 pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h pngrutil.c |
292 pngtrans.o pngtrans.pic.o: png.h pngconf.h pngtrans.c |
283 pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h pngtrans.c |
293 pngwrite.o pngwrite.pic.o: png.h pngconf.h pngwrite.c |
284 pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h pngwrite.c |
294 pngwtran.o pngwtran.pic.o: png.h pngconf.h pngwtran.c |
285 pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h pngwtran.c |
295 pngwutil.o pngwutil.pic.o: png.h pngconf.h pngwutil.c |
286 pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h pngwutil.c |
296 pngpread.o pngpread.pic.o: png.h pngconf.h pngpread.c |
287 pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h pngpread.c |
297 |
288 |
298 pngtest.o: png.h pngconf.h pngtest.c |
289 pngtest.o: png.h pngconf.h pngtest.c |
299 pngtest-stat.o: png.h pngconf.h pngtest.c |
290 pngtest-stat.o: png.h pngconf.h pngtest.c |
300 |
291 |
301 |
292 |