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, 2007 Greg Roelofs |
8 # Copyright (C) 1998-2000, 2007 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 # Built from makefile.cygwin |
15 # Built from makefile.cygwin |
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 MINGDLL = 12 |
70 MINGDLL = 14 |
80 PNGMIN = 1.2.40 |
71 PNGMIN = 1.4.0 |
81 PNGVER = $(PNGMAJ).$(PNGMIN) |
72 PNGVER = $(PNGMAJ).$(PNGMIN) |
82 |
73 |
83 SHAREDLIB=libpng$(MINGDLL).dll |
74 SHAREDLIB=libpng$(MINGDLL).dll |
84 STATLIB=libpng.a |
75 STATLIB=libpng.a |
85 IMPLIB=libpng.dll.a |
76 IMPLIB=libpng.dll.a |
136 cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \ |
127 cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \ |
137 -e s!@exec_prefix@!$(exec_prefix)! \ |
128 -e s!@exec_prefix@!$(exec_prefix)! \ |
138 -e s!@libdir@!$(LIBPATH)! \ |
129 -e s!@libdir@!$(LIBPATH)! \ |
139 -e s!@includedir@!$(INCPATH)! \ |
130 -e s!@includedir@!$(INCPATH)! \ |
140 -e s!@includedir@!$(INCPATH)! \ |
131 -e s!@includedir@!$(INCPATH)! \ |
141 -e s!-lpng12!-lpng12\ -lz\ -lm! > libpng.pc |
132 -e s!-lpng14!-lpng14\ -lz\ -lm! > libpng.pc |
142 |
133 |
143 libpng-config: scripts/libpng-config-head.in scripts/libpng-config-body.in |
134 libpng-config: scripts/libpng-config-head.in scripts/libpng-config-body.in |
144 @echo -e Making $(LIBNAME) libpng-config file for this libpng \ |
135 @echo -e Making $(LIBNAME) libpng-config file for this libpng \ |
145 installation..'\n' using PREFIX=\"$(prefix)\"'\n' |
136 installation..'\n' using PREFIX=\"$(prefix)\"'\n' |
146 ( cat $(S)/scripts/libpng-config-head.in; \ |
137 ( cat $(S)/scripts/libpng-config-head.in; \ |
158 |
149 |
159 $(STATLIB): $(OBJS) |
150 $(STATLIB): $(OBJS) |
160 $(AR) rc $@ $(OBJS) |
151 $(AR) rc $@ $(OBJS) |
161 $(RANLIB) $@ |
152 $(RANLIB) $@ |
162 |
153 |
163 $(SHAREDDEF): scripts/pngw32.def |
154 $(SHAREDDEF): scripts/pngwin.def |
164 cat $< | sed -e '1{G;s/^\(.*\)\(\n\)/EXPORTS/;};2,/^EXPORTS/d' | \ |
155 cat $< | sed -e '1{G;s/^\(.*\)\(\n\)/EXPORTS/;};2,/^EXPORTS/d' | \ |
165 sed -e 's/\([^;]*\);/;/' > $@ |
156 sed -e 's/\([^;]*\);/;/' > $@ |
166 |
157 |
167 $(SHAREDLIB): $(OBJSDLL) $(SHAREDDEF) |
158 $(SHAREDLIB): $(OBJSDLL) $(SHAREDDEF) |
168 $(CC) $(LDSFLAGS) -o $@ $(OBJSDLL) -L. $(LDEXTRA) |
159 $(CC) $(LDSFLAGS) -o $@ $(OBJSDLL) -L. $(LDEXTRA) |
243 |
234 |
244 test-dd: |
235 test-dd: |
245 echo |
236 echo |
246 echo Testing installed dynamic shared library in $(DL). |
237 echo Testing installed dynamic shared library in $(DL). |
247 $(CC) -I$(DI) $(CFLAGS) \ |
238 $(CC) -I$(DI) $(CFLAGS) \ |
248 `$(BINPATH)/libpng12-config --cflags` pngtest.c \ |
239 `$(BINPATH)/libpng14-config --cflags` pngtest.c \ |
249 -L$(DL) -L$(ZLIBLIB) \ |
240 -L$(DL) -L$(ZLIBLIB) \ |
250 -o pngtestd `$(BINPATH)/libpng12-config --ldflags` |
241 -o pngtestd `$(BINPATH)/libpng14-config --ldflags` |
251 ./pngtestd pngtest.png |
242 ./pngtestd pngtest.png |
252 |
243 |
253 test-installed: |
244 test-installed: |
254 $(CC) $(CFLAGS) \ |
245 $(CC) $(CFLAGS) \ |
255 `$(BINPATH)/libpng12-config --cflags` pngtest.c \ |
246 `$(BINPATH)/libpng14-config --cflags` pngtest.c \ |
256 -L$(ZLIBLIB) \ |
247 -L$(ZLIBLIB) \ |
257 -o pngtesti$(EXE) `$(BINPATH)/libpng12-config --ldflags` |
248 -o pngtesti$(EXE) `$(BINPATH)/libpng14-config --ldflags` |
258 ./pngtesti$(EXE) pngtest.png |
249 ./pngtesti$(EXE) pngtest.png |
259 |
250 |
260 clean: |
251 clean: |
261 /bin/rm -f *.pic.o *.o $(STATLIB) $(IMPLIB) $(SHAREDLIB) \ |
252 /bin/rm -f *.pic.o *.o $(STATLIB) $(IMPLIB) $(SHAREDLIB) \ |
262 pngtest-stat$(EXE) pngtest$(EXE) pngout.png $(SHAREDDEF) \ |
253 pngtest-stat$(EXE) pngtest$(EXE) pngout.png $(SHAREDDEF) \ |
268 |
259 |
269 .PHONY: buildsetup-tell libpng.pc libpng-config test-config-install clean |
260 .PHONY: buildsetup-tell libpng.pc libpng-config test-config-install clean |
270 |
261 |
271 # DO NOT DELETE THIS LINE -- make depend depends on it. |
262 # DO NOT DELETE THIS LINE -- make depend depends on it. |
272 |
263 |
273 png.o png.pic.o: png.h pngconf.h png.c |
264 png.o png.pic.o: png.h pngconf.h pngpriv.h png.c |
274 pngerror.o pngerror.pic.o: png.h pngconf.h pngerror.c |
265 pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h pngerror.c |
275 pngrio.o pngrio.pic.o: png.h pngconf.h pngrio.c |
266 pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h pngrio.c |
276 pngwio.o pngwio.pic.o: png.h pngconf.h pngwio.c |
267 pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h pngwio.c |
277 pngmem.o pngmem.pic.o: png.h pngconf.h pngmem.c |
268 pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h pngmem.c |
278 pngset.o pngset.pic.o: png.h pngconf.h pngset.c |
269 pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h pngset.c |
279 pngget.o pngget.pic.o: png.h pngconf.h pngget.c |
270 pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h pngget.c |
280 pngread.o pngread.pic.o: png.h pngconf.h pngread.c |
271 pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h pngread.c |
281 pngrtran.o pngrtran.pic.o: png.h pngconf.h pngrtran.c |
272 pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h pngrtran.c |
282 pngrutil.o pngrutil.pic.o: png.h pngconf.h pngrutil.c |
273 pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h pngrutil.c |
283 pngtrans.o pngtrans.pic.o: png.h pngconf.h pngtrans.c |
274 pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h pngtrans.c |
284 pngwrite.o pngwrite.pic.o: png.h pngconf.h pngwrite.c |
275 pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h pngwrite.c |
285 pngwtran.o pngwtran.pic.o: png.h pngconf.h pngwtran.c |
276 pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h pngwtran.c |
286 pngwutil.o pngwutil.pic.o: png.h pngconf.h pngwutil.c |
277 pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h pngwutil.c |
287 pngpread.o pngpread.pic.o: png.h pngconf.h pngpread.c |
278 pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h pngpread.c |
288 |
279 |
289 pngtest.o pngtest.pic.o: png.h pngconf.h pngtest.c |
280 pngtest.o pngtest.pic.o: png.h pngconf.h pngtest.c |