3d541627 |
1 | # Visual C++ Makefile for PuTTY. |
2 | # |
3 | # Use `nmake' to build. |
4 | # |
5 | |
6 | ##-- help |
7 | # |
8 | # Extra options you can set: |
9 | # |
10 | # - FWHACK=/DFWHACK |
11 | # Enables a hack that tunnels through some firewall proxies. |
12 | # |
13 | # - VER=/DSNAPSHOT=1999-01-25 |
14 | # Generates executables whose About box report them as being a |
15 | # development snapshot. |
16 | # |
17 | # - VER=/DRELEASE=0.43 |
18 | # Generates executables whose About box report them as being a |
19 | # release version. |
20 | # |
4d331a77 |
21 | # - COMPAT=/DAUTO_WINSOCK |
22 | # Causes PuTTY to assume that <windows.h> includes its own WinSock |
23 | # header file, so that it won't try to include <winsock.h>. |
24 | # |
25 | # - COMPAT=/DWINSOCK_TWO |
26 | # Causes the PuTTY utilities to include <winsock2.h> instead of |
27 | # <winsock.h>, except Plink which _needs_ WinSock 2 so it already |
28 | # does this. |
29 | # |
6ed3635b |
30 | # - RCFL=/DASCIICTLS |
760858ff |
31 | # Uses ASCII rather than Unicode to specify the tab control in |
32 | # the resource file. Probably most useful when compiling with |
33 | # Cygnus/mingw32, whose resource compiler may have less of a |
34 | # problem with it. |
35 | # |
3d541627 |
36 | ##-- |
676c0556 |
37 | |
5f48a59c |
38 | CFLAGS = /nologo /W3 /YX /O2 /Yd /D_WINDOWS /DDEBUG /ML /Fd |
373e94e9 |
39 | # LFLAGS = /debug |
40 | |
41 | # Use MSVC DLL |
c9def1b8 |
42 | # CFLAGS = /nologo /W3 /YX /O2 /Yd /D_WINDOWS /DDEBUG /MD /Fd |
373e94e9 |
43 | |
44 | # Disable debug and incremental linking |
45 | LFLAGS = /incremental:no |
374330e2 |
46 | |
47 | .c.obj: |
676c0556 |
48 | cl $(COMPAT) $(FWHACK) $(CFLAGS) /c $*.c |
374330e2 |
49 | |
3d541627 |
50 | OBJ=obj |
51 | RES=res |
52 | |
89ee5268 |
53 | ##-- objects putty puttytel |
8c3cd914 |
54 | GOBJS1 = window.$(OBJ) windlg.$(OBJ) winctrls.$(OBJ) terminal.$(OBJ) |
4017be6d |
55 | GOBJS2 = xlat.$(OBJ) sizetip.$(OBJ) |
56 | ##-- objects putty puttytel plink |
8df7a775 |
57 | LOBJS1 = telnet.$(OBJ) raw.$(OBJ) ldisc.$(OBJ) winnet.$(OBJ) |
4017be6d |
58 | ##-- objects putty plink |
5c58ad2d |
59 | POBJS = be_all.$(OBJ) |
89ee5268 |
60 | ##-- objects puttytel |
61 | TOBJS = be_nossh.$(OBJ) |
4017be6d |
62 | ##-- objects plink |
a9422f39 |
63 | PLOBJS = plink.$(OBJ) |
3d541627 |
64 | ##-- objects pscp |
8df7a775 |
65 | SOBJS = scp.$(OBJ) winnet.$(OBJ) be_none.$(OBJ) |
4017be6d |
66 | ##-- objects putty puttytel pscp plink |
a9422f39 |
67 | MOBJS = misc.$(OBJ) version.$(OBJ) winstore.$(OBJ) settings.$(OBJ) |
8df7a775 |
68 | MOBJ2 = tree234.$(OBJ) |
4017be6d |
69 | ##-- objects putty pscp plink |
89ee5268 |
70 | OBJS1 = sshcrc.$(OBJ) sshdes.$(OBJ) sshmd5.$(OBJ) sshrsa.$(OBJ) sshrand.$(OBJ) |
e5574168 |
71 | OBJS2 = sshsha.$(OBJ) sshblowf.$(OBJ) noise.$(OBJ) sshdh.$(OBJ) sshdss.$(OBJ) |
8df7a775 |
72 | OBJS3 = sshbn.$(OBJ) sshpubk.$(OBJ) ssh.$(OBJ) pageantc.$(OBJ) |
5c58ad2d |
73 | ##-- objects pageant |
74 | PAGE1 = pageant.$(OBJ) sshrsa.$(OBJ) sshpubk.$(OBJ) sshdes.$(OBJ) sshbn.$(OBJ) |
75 | PAGE2 = sshmd5.$(OBJ) version.$(OBJ) tree234.$(OBJ) |
6e522441 |
76 | ##-- objects puttygen |
77 | GEN1 = puttygen.$(OBJ) sshrsag.$(OBJ) sshprime.$(OBJ) sshdes.$(OBJ) |
78 | GEN2 = sshbn.$(OBJ) sshmd5.$(OBJ) version.$(OBJ) sshrand.$(OBJ) noise.$(OBJ) |
79 | GEN3 = sshsha.$(OBJ) winstore.$(OBJ) misc.$(OBJ) winctrls.$(OBJ) |
80 | GEN4 = sshrsa.$(OBJ) sshpubk.$(OBJ) |
9d01fc92 |
81 | ##-- resources putty puttytel |
3d541627 |
82 | PRESRC = win_res.$(RES) |
5c58ad2d |
83 | ##-- resources pageant |
84 | PAGERC = pageant.$(RES) |
6e522441 |
85 | ##-- resources puttygen |
86 | GENRC = puttygen.$(RES) |
3d541627 |
87 | ##-- resources pscp |
88 | SRESRC = scp.$(RES) |
4017be6d |
89 | ##-- resources plink |
90 | LRESRC = plink.$(RES) |
3d541627 |
91 | ##-- |
92 | |
93 | ##-- gui-apps |
94 | # putty |
89ee5268 |
95 | # puttytel |
5c58ad2d |
96 | # pageant |
6e522441 |
97 | # puttygen |
3d541627 |
98 | ##-- console-apps |
99 | # pscp |
6d2d5e8d |
100 | # plink ws2_32 |
3d541627 |
101 | ##-- |
102 | |
374330e2 |
103 | LIBS1 = advapi32.lib user32.lib gdi32.lib |
4017be6d |
104 | LIBS2 = comctl32.lib comdlg32.lib |
5c58ad2d |
105 | LIBS3 = shell32.lib |
4017be6d |
106 | SOCK1 = wsock32.lib |
107 | SOCK2 = ws2_32.lib |
4585985c |
108 | |
6e522441 |
109 | all: putty.exe puttytel.exe pscp.exe plink.exe pageant.exe puttygen.exe |
89ee5268 |
110 | |
8df7a775 |
111 | putty.exe: $(GOBJS1) $(GOBJS2) $(LOBJS1) $(POBJS) $(MOBJS) $(MOBJ2) $(OBJS1) $(OBJS2) $(OBJS3) $(PRESRC) putty.rsp |
373e94e9 |
112 | link $(LFLAGS) -out:putty.exe @putty.rsp |
89ee5268 |
113 | |
8df7a775 |
114 | puttytel.exe: $(GOBJS1) $(GOBJS2) $(LOBJS1) $(TOBJS) $(MOBJS) $(MOBJ2) $(PRESRC) puttytel.rsp |
373e94e9 |
115 | link $(LFLAGS) -out:puttytel.exe @puttytel.rsp |
89ee5268 |
116 | |
5c58ad2d |
117 | pageant.exe: $(PAGE1) $(PAGE2) $(PAGERC) pageant.rsp |
118 | link $(LFLAGS) -out:pageant.exe @pageant.rsp |
119 | |
6e522441 |
120 | puttygen.exe: $(GEN1) $(GEN2) $(GEN3) $(GEN4) $(GENRC) puttygen.rsp |
121 | link $(LFLAGS) -out:puttygen.exe @puttygen.rsp |
122 | |
8df7a775 |
123 | pscp.exe: $(SOBJS) $(MOBJS) $(MOBJ2) $(OBJS1) $(OBJS2) $(OBJS3) $(SRESRC) pscp.rsp |
373e94e9 |
124 | link $(LFLAGS) -out:pscp.exe @pscp.rsp |
89ee5268 |
125 | |
8df7a775 |
126 | plink.exe: $(LOBJS1) $(POBJS) $(PLOBJS) $(MOBJS) $(MOBJ2) $(OBJS1) $(OBJS2) $(OBJS3) $(LRESRC) plink.rsp |
4017be6d |
127 | link $(LFLAGS) -out:plink.exe @plink.rsp |
128 | |
89ee5268 |
129 | putty.rsp: makefile |
130 | echo /nologo /subsystem:windows > putty.rsp |
131 | echo $(GOBJS1) >> putty.rsp |
132 | echo $(GOBJS2) >> putty.rsp |
4017be6d |
133 | echo $(LOBJS1) >> putty.rsp |
89ee5268 |
134 | echo $(POBJS) >> putty.rsp |
135 | echo $(MOBJS) >> putty.rsp |
8df7a775 |
136 | echo $(MOBJ2) >> putty.rsp |
89ee5268 |
137 | echo $(OBJS1) >> putty.rsp |
138 | echo $(OBJS2) >> putty.rsp |
e5574168 |
139 | echo $(OBJS3) >> putty.rsp |
89ee5268 |
140 | echo $(PRESRC) >> putty.rsp |
141 | echo $(LIBS1) >> putty.rsp |
142 | echo $(LIBS2) >> putty.rsp |
4017be6d |
143 | echo $(SOCK1) >> putty.rsp |
89ee5268 |
144 | |
145 | puttytel.rsp: makefile |
146 | echo /nologo /subsystem:windows > puttytel.rsp |
147 | echo $(GOBJS1) >> puttytel.rsp |
148 | echo $(GOBJS2) >> puttytel.rsp |
4017be6d |
149 | echo $(LOBJS1) >> puttytel.rsp |
89ee5268 |
150 | echo $(TOBJS) >> puttytel.rsp |
151 | echo $(MOBJS) >> puttytel.rsp |
8df7a775 |
152 | echo $(MOBJ2) >> puttytel.rsp |
9d01fc92 |
153 | echo $(PRESRC) >> puttytel.rsp |
89ee5268 |
154 | echo $(LIBS1) >> puttytel.rsp |
155 | echo $(LIBS2) >> puttytel.rsp |
4017be6d |
156 | echo $(SOCK1) >> puttytel.rsp |
89ee5268 |
157 | |
5c58ad2d |
158 | pageant.rsp: makefile |
159 | echo /nologo /subsystem:windows > pageant.rsp |
6e522441 |
160 | echo $(PAGE1) >> pageant.rsp |
161 | echo $(PAGE2) >> pageant.rsp |
162 | echo $(PAGERC) >> pageant.rsp |
5c58ad2d |
163 | echo $(LIBS1) >> pageant.rsp |
164 | echo $(LIBS2) >> pageant.rsp |
165 | echo $(LIBS3) >> pageant.rsp |
166 | |
6e522441 |
167 | puttygen.rsp: makefile |
168 | echo /nologo /subsystem:windows > puttygen.rsp |
169 | echo $(GEN1) >> puttygen.rsp |
170 | echo $(GEN2) >> puttygen.rsp |
171 | echo $(GEN3) >> puttygen.rsp |
172 | echo $(GEN4) >> puttygen.rsp |
173 | echo $(GENRC) >> puttygen.rsp |
174 | echo $(LIBS1) >> puttygen.rsp |
175 | echo $(LIBS2) >> puttygen.rsp |
176 | echo $(LIBS3) >> puttygen.rsp |
177 | |
89ee5268 |
178 | pscp.rsp: makefile |
179 | echo /nologo /subsystem:console > pscp.rsp |
180 | echo $(SOBJS) >> pscp.rsp |
181 | echo $(MOBJS) >> pscp.rsp |
8df7a775 |
182 | echo $(MOBJ2) >> pscp.rsp |
89ee5268 |
183 | echo $(OBJS1) >> pscp.rsp |
184 | echo $(OBJS2) >> pscp.rsp |
e5574168 |
185 | echo $(OBJS3) >> pscp.rsp |
89ee5268 |
186 | echo $(SRESRC) >> pscp.rsp |
187 | echo $(LIBS1) >> pscp.rsp |
188 | echo $(LIBS2) >> pscp.rsp |
4017be6d |
189 | echo $(SOCK1) >> pscp.rsp |
190 | |
191 | plink.rsp: makefile |
192 | echo /nologo /subsystem:console > plink.rsp |
193 | echo $(LOBJS1) >> plink.rsp |
194 | echo $(POBJS) >> plink.rsp |
195 | echo $(PLOBJS) >> plink.rsp |
196 | echo $(MOBJS) >> plink.rsp |
8df7a775 |
197 | echo $(MOBJ2) >> plink.rsp |
4017be6d |
198 | echo $(OBJS1) >> plink.rsp |
199 | echo $(OBJS2) >> plink.rsp |
200 | echo $(OBJS3) >> plink.rsp |
201 | echo $(LRESRC) >> plink.rsp |
202 | echo $(LIBS1) >> plink.rsp |
203 | echo $(LIBS2) >> plink.rsp |
204 | echo $(SOCK2) >> plink.rsp |
3d541627 |
205 | |
206 | ##-- dependencies |
8df7a775 |
207 | window.$(OBJ): window.c putty.h network.h win_res.h storage.h winstuff.h |
208 | windlg.$(OBJ): windlg.c putty.h network.h ssh.h win_res.h winstuff.h |
8c3cd914 |
209 | winctrls.$(OBJ): winctrls.c winstuff.h winstuff.h |
8df7a775 |
210 | settings.$(OBJ): settings.c putty.h network.h storage.h |
211 | winstore.$(OBJ): winstore.c putty.h network.h storage.h |
212 | terminal.$(OBJ): terminal.c putty.h network.h |
213 | sizetip.$(OBJ): sizetip.c putty.h network.h winstuff.h |
214 | telnet.$(OBJ): telnet.c putty.h network.h |
215 | raw.$(OBJ): raw.c putty.h network.h |
216 | xlat.$(OBJ): xlat.c putty.h network.h |
217 | ldisc.$(OBJ): ldisc.c putty.h network.h |
218 | misc.$(OBJ): misc.c putty.h network.h |
219 | noise.$(OBJ): noise.c putty.h network.h ssh.h storage.h |
220 | ssh.$(OBJ): ssh.c ssh.h putty.h network.h tree234.h |
3d541627 |
221 | sshcrc.$(OBJ): sshcrc.c ssh.h |
222 | sshdes.$(OBJ): sshdes.c ssh.h |
223 | sshmd5.$(OBJ): sshmd5.c ssh.h |
224 | sshrsa.$(OBJ): sshrsa.c ssh.h |
225 | sshsha.$(OBJ): sshsha.c ssh.h |
226 | sshrand.$(OBJ): sshrand.c ssh.h |
227 | sshblowf.$(OBJ): sshblowf.c ssh.h |
e5574168 |
228 | sshdh.$(OBJ): sshdh.c ssh.h |
229 | sshdss.$(OBJ): sshdss.c ssh.h |
230 | sshbn.$(OBJ): sshbn.c ssh.h |
7cca0d81 |
231 | sshpubk.$(OBJ): sshpubk.c ssh.h |
8df7a775 |
232 | scp.$(OBJ): scp.c putty.h network.h winstuff.h |
3d541627 |
233 | version.$(OBJ): version.c |
89ee5268 |
234 | be_all.$(OBJ): be_all.c |
235 | be_nossh.$(OBJ): be_nossh.c |
236 | be_none.$(OBJ): be_none.c |
8df7a775 |
237 | plink.$(OBJ): plink.c putty.h network.h winstuff.h |
5c58ad2d |
238 | pageant.$(OBJ): pageant.c ssh.h tree234.h |
239 | tree234.$(OBJ): tree234.c tree234.h |
3d541627 |
240 | ##-- |
067a15ea |
241 | |
242 | # Hack to force version.obj to be rebuilt always |
3d541627 |
243 | version.obj: versionpseudotarget |
244 | @echo (built version.obj) |
067a15ea |
245 | versionpseudotarget: |
246 | cl $(FWHACK) $(VER) $(CFLAGS) /c version.c |
374330e2 |
247 | |
3d541627 |
248 | ##-- dependencies |
249 | win_res.$(RES): win_res.rc win_res.h putty.ico |
250 | ##-- |
251 | win_res.$(RES): |
6ed3635b |
252 | rc $(FWHACK) $(RCFL) -r -DWIN32 -D_WIN32 -DWINVER=0x0400 win_res.rc |
374330e2 |
253 | |
3d541627 |
254 | ##-- dependencies |
255 | scp.$(RES): scp.rc scp.ico |
256 | ##-- |
257 | scp.$(RES): |
6ed3635b |
258 | rc $(FWHACK) $(RCFL) -r -DWIN32 -D_WIN32 -DWINVER=0x0400 scp.rc |
4585985c |
259 | |
5c58ad2d |
260 | ##-- dependencies |
261 | pageant.$(RES): pageant.rc pageant.ico pageants.ico |
262 | ##-- |
263 | pageant.$(RES): |
264 | rc $(FWHACK) $(RCFL) -r -DWIN32 -D_WIN32 -DWINVER=0x0400 pageant.rc |
265 | |
6e522441 |
266 | ##-- dependencies |
267 | puttygen.$(RES): puttygen.rc puttygen.ico |
268 | ##-- |
269 | puttygen.$(RES): |
270 | rc $(FWHACK) $(RCFL) -r -DWIN32 -D_WIN32 -DWINVER=0x0400 puttygen.rc |
271 | |
374330e2 |
272 | clean: |
273 | del *.obj |
274 | del *.exe |
275 | del *.res |
276 | del *.pch |
277 | del *.aps |
278 | del *.ilk |
279 | del *.pdb |
067a15ea |
280 | del *.rsp |
1ee529ed |
281 | del *.dsp |
282 | del *.dsw |
283 | del *.ncb |
284 | del *.opt |
285 | del *.plg |