Mercurial > fife-parpg
comparison ext/libpng-1.2.29/contrib/gregbook/Makefile.w32 @ 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 MSVC and NMAKE. | |
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 # %devstudio%\vc\bin\vcvars32.bat | |
14 # nmake -nologo -f Makefile.w32 | |
15 # | |
16 # where %devstudio% is the installation directory for MSVC / DevStudio. If | |
17 # you get "environment out of space" errors, create a desktop shortcut with | |
18 # "c:\windows\command.com /e:4096" as the program command line and set the | |
19 # working directory to this directory. Then double-click to open the new | |
20 # DOS-prompt window with a bigger environment and retry the commands above. | |
21 # | |
22 # This makefile assumes libpng and zlib have already been built or downloaded | |
23 # and are in subdirectories at the same level as the current subdirectory | |
24 # (as indicated by the PNGPATH and ZPATH macros below). Edit as appropriate. | |
25 # | |
26 # Note that the names of the dynamic and static libpng and zlib libraries | |
27 # used below may change in later releases of the libraries. This makefile | |
28 # builds statically linked executables, but that can be changed by uncom- | |
29 # menting the appropriate PNGLIB and ZLIB lines. | |
30 | |
31 !include <ntwin32.mak> | |
32 | |
33 | |
34 # macros -------------------------------------------------------------------- | |
35 | |
36 PNGPATH = ../libpng | |
37 PNGINC = -I$(PNGPATH) | |
38 #PNGLIB = $(PNGPATH)/pngdll.lib | |
39 PNGLIB = $(PNGPATH)/libpng.lib | |
40 | |
41 ZPATH = ../zlib | |
42 ZINC = -I$(ZPATH) | |
43 #ZLIB = $(ZPATH)/zlibdll.lib | |
44 ZLIB = $(ZPATH)/zlibstat.lib | |
45 | |
46 WINLIBS = -defaultlib:user32.lib gdi32.lib | |
47 # ["real" apps may also need comctl32.lib, comdlg32.lib, winmm.lib, etc.] | |
48 | |
49 INCS = $(PNGINC) $(ZINC) | |
50 RLIBS = $(PNGLIB) $(ZLIB) $(WINLIBS) | |
51 WLIBS = $(PNGLIB) $(ZLIB) | |
52 | |
53 CC = cl | |
54 LD = link | |
55 RM = del | |
56 CFLAGS = -nologo -O -W3 $(INCS) $(cvars) | |
57 # [note that -W3 is an MSVC-specific compilation flag ("all warnings on")] | |
58 # [see %devstudio%\vc\include\win32.mak for cvars macro definition] | |
59 O = .obj | |
60 E = .exe | |
61 | |
62 RLDFLAGS = -nologo -subsystem:windows | |
63 WLDFLAGS = -nologo | |
64 | |
65 RPNG = rpng-win | |
66 RPNG2 = rpng2-win | |
67 WPNG = wpng | |
68 | |
69 ROBJS = $(RPNG)$(O) readpng$(O) | |
70 ROBJS2 = $(RPNG2)$(O) readpng2$(O) | |
71 WOBJS = $(WPNG)$(O) writepng$(O) | |
72 | |
73 EXES = $(RPNG)$(E) $(RPNG2)$(E) $(WPNG)$(E) | |
74 | |
75 | |
76 # implicit make rules ------------------------------------------------------- | |
77 | |
78 .c$(O): | |
79 $(CC) -c $(CFLAGS) $< | |
80 | |
81 | |
82 # dependencies -------------------------------------------------------------- | |
83 | |
84 all: $(EXES) | |
85 | |
86 $(RPNG)$(E): $(ROBJS) | |
87 $(LD) $(RLDFLAGS) -out:$@ $(ROBJS) $(RLIBS) | |
88 | |
89 $(RPNG2)$(E): $(ROBJS2) | |
90 $(LD) $(RLDFLAGS) -out:$@ $(ROBJS2) $(RLIBS) | |
91 | |
92 $(WPNG)$(E): $(WOBJS) | |
93 $(LD) $(WLDFLAGS) -out:$@ $(WOBJS) $(WLIBS) | |
94 | |
95 $(RPNG)$(O): $(RPNG).c readpng.h | |
96 $(RPNG2)$(O): $(RPNG2).c readpng2.h | |
97 $(WPNG)$(O): $(WPNG).c writepng.h | |
98 | |
99 readpng$(O): readpng.c readpng.h | |
100 readpng2$(O): readpng2.c readpng2.h | |
101 writepng$(O): writepng.c writepng.h | |
102 | |
103 | |
104 # maintenance --------------------------------------------------------------- | |
105 | |
106 clean: | |
107 # ideally we could just do this: | |
108 # $(RM) $(EXES) $(ROBJS) $(ROBJS2) $(WOBJS) | |
109 # ...but the Windows "DEL" command is none too bright, so: | |
110 $(RM) r*$(E) | |
111 $(RM) w*$(E) | |
112 $(RM) r*$(O) | |
113 $(RM) w*$(O) |