Mercurial > fife-parpg
comparison ext/libpng-1.2.29/contrib/gregbook/Makefile.mingw32 @ 0:4a0efb7baf70
* Datasets becomes the new trunk and retires after that :-)
author | mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222 |
---|---|
date | Sun, 29 Jun 2008 18:44:17 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4a0efb7baf70 |
---|---|
1 # Sample makefile for rpng-win / rpng2-win / wpng using mingw32-gcc and make. | |
2 # Greg Roelofs | |
3 # Last modified: 2 June 2007 | |
4 # | |
5 # The programs built by this makefile are described in the book, | |
6 # "PNG: The Definitive Guide," by Greg Roelofs (O'Reilly and | |
7 # Associates, 1999). Go buy a copy, eh? Well, OK, it's not | |
8 # generally for sale anymore, but it's the thought that counts, | |
9 # right? (Hint: http://www.libpng.org/pub/png/book/ ) | |
10 # | |
11 # Invoke this makefile from a DOS-prompt window via: | |
12 # | |
13 # make -f Makefile.mingw32 | |
14 # | |
15 # This makefile assumes libpng and zlib have already been built or downloaded | |
16 # and are in subdirectories at the same level as the current subdirectory | |
17 # (as indicated by the PNGDIR and ZDIR macros below). It makes no assumptions | |
18 # at all about the mingw32 installation tree (W32DIR). Edit as appropriate. | |
19 # | |
20 # Note that the names of the dynamic and static libpng and zlib libraries | |
21 # used below may change in later releases of the libraries. This makefile | |
22 # builds both statically and dynamically linked executables by default. | |
23 # (You need only one set, but for testing it can be handy to have both.) | |
24 | |
25 | |
26 # macros -------------------------------------------------------------------- | |
27 | |
28 #PNGDIR = ../..# for libpng-x.y.z/contrib/gregbook builds | |
29 PNGDIR = ../libpng-win32 | |
30 PNGINC = -I$(PNGDIR) | |
31 PNGLIBd = $(PNGDIR)/libpng.dll.a # dynamically linked | |
32 PNGLIBs = $(PNGDIR)/libpng.a # statically linked, local libpng | |
33 | |
34 #ZDIR = ../../../zlib-win32# for libpng-x.y.z/contrib/gregbook builds | |
35 ZDIR = ../zlib-win32 | |
36 ZINC = -I$(ZDIR) | |
37 ZLIBd = $(ZDIR)/libzdll.a | |
38 ZLIBs = $(ZDIR)/libz.a | |
39 | |
40 # change this to be the path where mingw32 installs its stuff: | |
41 W32DIR = | |
42 #W32DIR = /usr/local/cross-tools/i386-mingw32msvc | |
43 W32INC = -I$(W32DIR)/include | |
44 W32LIB = $(W32DIR)/lib/libuser32.a $(W32DIR)/lib/libgdi32.a | |
45 | |
46 CC = gcc | |
47 #CC = i386-mingw32msvc-gcc # e.g., Linux -> Win32 cross-compilation | |
48 LD = $(CC) | |
49 RM = rm -f | |
50 CFLAGS = -O -Wall $(INCS) $(MINGW_CCFLAGS) | |
51 # [note that -Wall is a gcc-specific compilation flag ("most warnings on")] | |
52 # [-ansi, -pedantic and -W can also be used] | |
53 LDFLAGS = $(MINGW_LDFLAGS) | |
54 O = .o | |
55 E = .exe | |
56 | |
57 INCS = $(PNGINC) $(ZINC) $(W32INC) | |
58 RLIBSd = $(PNGLIBd) $(ZLIBd) $(W32LIB) -lm | |
59 RLIBSs = $(PNGLIBs) $(ZLIBs) $(W32LIB) -lm | |
60 WLIBSd = $(PNGLIBd) $(ZLIBd) | |
61 WLIBSs = $(PNGLIBs) $(ZLIBs) | |
62 | |
63 RPNG = rpng-win | |
64 RPNG2 = rpng2-win | |
65 WPNG = wpng | |
66 | |
67 ROBJSd = $(RPNG)$(O) readpng.pic$(O) | |
68 ROBJS2d = $(RPNG2)$(O) readpng2.pic$(O) | |
69 WOBJSd = $(WPNG)$(O) writepng.pic$(O) | |
70 | |
71 RPNGs = $(RPNG)-static | |
72 RPNG2s = $(RPNG2)-static | |
73 WPNGs = $(WPNG)-static | |
74 | |
75 ROBJSs = $(RPNG)$(O) readpng$(O) | |
76 ROBJS2s = $(RPNG2)$(O) readpng2$(O) | |
77 WOBJSs = $(WPNG)$(O) writepng$(O) | |
78 | |
79 STATIC_EXES = $(RPNGs)$(E) $(RPNG2s)$(E) $(WPNGs)$(E) | |
80 DYNAMIC_EXES = $(RPNG)$(E) $(RPNG2)$(E) $(WPNG)$(E) | |
81 | |
82 EXES = $(STATIC_EXES) $(DYNAMIC_EXES) | |
83 | |
84 | |
85 # implicit make rules ------------------------------------------------------- | |
86 | |
87 .c$(O): | |
88 $(CC) -c $(CFLAGS) $< | |
89 | |
90 %.pic$(O): %.c | |
91 $(CC) -c $(CFLAGS) -DPNG_BUILD_DLL -o $@ $< | |
92 | |
93 | |
94 # dependencies -------------------------------------------------------------- | |
95 | |
96 all: $(EXES) | |
97 | |
98 $(RPNGs)$(E): $(ROBJSs) | |
99 $(LD) $(LDFLAGS) -o $@ $(ROBJSs) $(RLIBSs) | |
100 | |
101 $(RPNG)$(E): $(ROBJSd) | |
102 $(LD) $(LDFLAGS) -o $@ $(ROBJSd) $(RLIBSd) | |
103 | |
104 $(RPNG2s)$(E): $(ROBJS2s) | |
105 $(LD) $(LDFLAGS) -o $@ $(ROBJS2s) $(RLIBSs) | |
106 | |
107 $(RPNG2)$(E): $(ROBJS2d) | |
108 $(LD) $(LDFLAGS) -o $@ $(ROBJS2d) $(RLIBSd) | |
109 | |
110 $(WPNGs)$(E): $(WOBJSs) | |
111 $(LD) $(LDFLAGS) -o $@ $(WOBJSs) $(WLIBSs) | |
112 | |
113 $(WPNG)$(E): $(WOBJSd) | |
114 $(LD) $(LDFLAGS) -o $@ $(WOBJSd) $(WLIBSd) | |
115 | |
116 $(RPNG)$(O): $(RPNG).c readpng.h | |
117 $(RPNG2)$(O): $(RPNG2).c readpng2.h | |
118 $(WPNG)$(O): $(WPNG).c writepng.h | |
119 | |
120 readpng$(O) readpng.pic$(O): readpng.c readpng.h | |
121 readpng2$(O) readpng2.pic$(O): readpng2.c readpng2.h | |
122 writepng$(O) writepng.pic$(O): writepng.c writepng.h | |
123 | |
124 | |
125 # maintenance --------------------------------------------------------------- | |
126 | |
127 clean: | |
128 $(RM) $(EXES) | |
129 $(RM) $(ROBJSs) $(ROBJS2s) $(WOBJSs) | |
130 $(RM) $(ROBJSd) $(ROBJS2d) $(WOBJSd) |