| 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 | # |
| 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 | # |
| 30 | # - COMPAT=/DNO_SECURITY |
| 31 | # Disables Pageant's use of <aclapi.h>, which is not available |
| 32 | # with some development environments. This means that Pageant |
| 33 | # won't care about the local user ID of processes accessing it; a |
| 34 | # version of Pageant built with this option will therefore refuse |
| 35 | # to run under NT-series OSes on security grounds (although it |
| 36 | # will run fine on Win95-series OSes where there is no access |
| 37 | # control anyway). |
| 38 | # |
| 39 | # Note that this definition is always enabled in the Cygwin |
| 40 | # build, since at the time of writing this <aclapi.h> is known |
| 41 | # not to be available in Cygwin. |
| 42 | # |
| 43 | # - COMPAT=/DNO_MULTIMON |
| 44 | # Disables PuTTY's use of <multimon.h>, which is not available |
| 45 | # with some development environments. This means that PuTTY's |
| 46 | # full-screen mode (configurable to work on Alt-Enter) will |
| 47 | # not behave usefully in a multi-monitor environment. |
| 48 | # |
| 49 | # - COMPAT=/DMSVC4 |
| 50 | # - RCFL=/DMSVC4 |
| 51 | # Makes a couple of minor changes so that PuTTY compiles using |
| 52 | # MSVC 4. You will also need /DNO_SECURITY and /DNO_MULTIMON. |
| 53 | # |
| 54 | # - RCFL=/DASCIICTLS |
| 55 | # Uses ASCII rather than Unicode to specify the tab control in |
| 56 | # the resource file. Probably most useful when compiling with |
| 57 | # Cygnus/mingw32, whose resource compiler may have less of a |
| 58 | # problem with it. |
| 59 | # |
| 60 | # - XFLAGS=/DDEBUG |
| 61 | # Causes PuTTY to enable internal debugging. |
| 62 | # |
| 63 | # - XFLAGS=/DMALLOC_LOG |
| 64 | # Causes PuTTY to emit a file called putty_mem.log, logging every |
| 65 | # memory allocation and free, so you can track memory leaks. |
| 66 | # |
| 67 | # - XFLAGS=/DMINEFIELD |
| 68 | # Causes PuTTY to use a custom memory allocator, similar in |
| 69 | # concept to Electric Fence, in place of regular malloc(). Wastes |
| 70 | # huge amounts of RAM, but should cause heap-corruption bugs to |
| 71 | # show up as GPFs at the point of failure rather than appearing |
| 72 | # later on as second-level damage. |
| 73 | # |
| 74 | ##-- |
| 75 | |
| 76 | # Enable debug and incremental linking and compiling |
| 77 | # CFLAGS = /nologo /W3 /YX /Yd /O1 /Gi /D_WINDOWS /DDEBUG /D_WIN32_WINDOWS=0x401 |
| 78 | # LFLAGS = /debug |
| 79 | |
| 80 | # Disable debug and incremental linking and compiling |
| 81 | CFLAGS = /nologo /W3 /O1 /D_WINDOWS /D_WIN32_WINDOWS=0x401 /DWINVER=0x401 |
| 82 | LFLAGS = /incremental:no /fixed |
| 83 | |
| 84 | # Use MSVC DLL |
| 85 | # CFLAGS = /nologo /W3 /O1 /MD /D_WINDOWS /D_WIN32_WINDOWS=0x401 |
| 86 | # LFLAGS = /incremental:no |
| 87 | |
| 88 | .c.obj: |
| 89 | cl $(COMPAT) $(FWHACK) $(XFLAGS) $(CFLAGS) /c $*.c |
| 90 | |
| 91 | OBJ=obj |
| 92 | RES=res |
| 93 | |
| 94 | ##-- objects putty puttytel |
| 95 | GOBJS1 = window.$(OBJ) windlg.$(OBJ) winctrls.$(OBJ) terminal.$(OBJ) |
| 96 | GOBJS2 = sizetip.$(OBJ) wcwidth.$(OBJ) unicode.$(OBJ) logging.$(OBJ) |
| 97 | ##-- objects putty puttytel plink |
| 98 | LOBJS1 = telnet.$(OBJ) raw.$(OBJ) rlogin.$(OBJ) ldisc.$(OBJ) winnet.$(OBJ) |
| 99 | ##-- objects putty plink |
| 100 | POBJS = be_all.$(OBJ) |
| 101 | ##-- objects puttytel |
| 102 | TOBJS = be_nossh.$(OBJ) |
| 103 | ##-- objects plink |
| 104 | PLOBJS = plink.$(OBJ) logging.$(OBJ) |
| 105 | ##-- objects pscp |
| 106 | SOBJS = scp.$(OBJ) winnet.$(OBJ) be_none.$(OBJ) wildcard.$(OBJ) |
| 107 | ##-- objects psftp |
| 108 | FOBJS = psftp.$(OBJ) winnet.$(OBJ) be_none.$(OBJ) |
| 109 | ##-- objects pscp psftp |
| 110 | SFOBJS = sftp.$(OBJ) int64.$(OBJ) logging.$(OBJ) |
| 111 | ##-- objects putty puttytel pscp psftp plink |
| 112 | MOBJS = misc.$(OBJ) version.$(OBJ) winstore.$(OBJ) settings.$(OBJ) |
| 113 | MOBJ2 = tree234.$(OBJ) |
| 114 | ##-- objects pscp psftp plink |
| 115 | COBJS = console.$(OBJ) |
| 116 | ##-- objects putty pscp psftp plink |
| 117 | OBJS1 = sshcrc.$(OBJ) sshdes.$(OBJ) sshmd5.$(OBJ) sshrsa.$(OBJ) sshrand.$(OBJ) |
| 118 | OBJS2 = sshsha.$(OBJ) sshblowf.$(OBJ) noise.$(OBJ) sshdh.$(OBJ) sshdss.$(OBJ) |
| 119 | OBJS3 = sshbn.$(OBJ) sshpubk.$(OBJ) ssh.$(OBJ) pageantc.$(OBJ) sshzlib.$(OBJ) |
| 120 | OBJS4 = x11fwd.$(OBJ) portfwd.$(OBJ) sshaes.$(OBJ) sshsh512.$(OBJ) |
| 121 | ##-- objects pageant |
| 122 | PAGE1 = pageant.$(OBJ) sshrsa.$(OBJ) sshpubk.$(OBJ) sshdes.$(OBJ) sshbn.$(OBJ) |
| 123 | PAGE2 = sshmd5.$(OBJ) version.$(OBJ) tree234.$(OBJ) misc.$(OBJ) sshaes.$(OBJ) |
| 124 | PAGE3 = sshsha.$(OBJ) pageantc.$(OBJ) sshdss.$(OBJ) sshsh512.$(OBJ) |
| 125 | ##-- objects puttygen |
| 126 | GEN1 = puttygen.$(OBJ) sshrsag.$(OBJ) sshdssg.$(OBJ) sshprime.$(OBJ) |
| 127 | GEN2 = sshdes.$(OBJ) sshbn.$(OBJ) sshmd5.$(OBJ) version.$(OBJ) sshrand.$(OBJ) |
| 128 | GEN3 = noise.$(OBJ) sshsha.$(OBJ) winstore.$(OBJ) misc.$(OBJ) winctrls.$(OBJ) |
| 129 | GEN4 = sshrsa.$(OBJ) sshdss.$(OBJ) sshpubk.$(OBJ) sshaes.$(OBJ) sshsh512.$(OBJ) |
| 130 | ##-- resources putty puttytel |
| 131 | PRESRC = win_res.$(RES) |
| 132 | ##-- resources pageant |
| 133 | PAGERC = pageant.$(RES) |
| 134 | ##-- resources puttygen |
| 135 | GENRC = puttygen.$(RES) |
| 136 | ##-- resources pscp psftp |
| 137 | SRESRC = scp.$(RES) |
| 138 | ##-- resources plink |
| 139 | LRESRC = plink.$(RES) |
| 140 | ##-- |
| 141 | |
| 142 | ##-- gui-apps |
| 143 | # putty |
| 144 | # puttytel |
| 145 | # pageant |
| 146 | # puttygen |
| 147 | ##-- console-apps |
| 148 | # pscp |
| 149 | # psftp |
| 150 | # plink ws2_32 |
| 151 | ##-- |
| 152 | |
| 153 | LIBS1 = advapi32.lib user32.lib gdi32.lib |
| 154 | LIBS2 = comctl32.lib comdlg32.lib |
| 155 | LIBS3 = shell32.lib winmm.lib imm32.lib |
| 156 | SOCK1 = wsock32.lib |
| 157 | SOCK2 = ws2_32.lib |
| 158 | |
| 159 | all: putty.exe puttytel.exe pscp.exe psftp.exe \ |
| 160 | plink.exe pageant.exe puttygen.exe |
| 161 | |
| 162 | putty.exe: $(GOBJS1) $(GOBJS2) $(LOBJS1) $(POBJS) $(MOBJS) $(MOBJ2) $(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4) $(PRESRC) putty.rsp |
| 163 | link $(LFLAGS) -out:putty.exe -map:putty.map @putty.rsp |
| 164 | |
| 165 | puttytel.exe: $(GOBJS1) $(GOBJS2) $(LOBJS1) $(TOBJS) $(MOBJS) $(MOBJ2) $(PRESRC) puttytel.rsp |
| 166 | link $(LFLAGS) -out:puttytel.exe -map:puttytel.map @puttytel.rsp |
| 167 | |
| 168 | pageant.exe: $(PAGE1) $(PAGE2) $(PAGE3) $(PAGERC) pageant.rsp |
| 169 | link $(LFLAGS) -out:pageant.exe -map:pageant.map @pageant.rsp |
| 170 | |
| 171 | puttygen.exe: $(GEN1) $(GEN2) $(GEN3) $(GEN4) $(GENRC) puttygen.rsp |
| 172 | link $(LFLAGS) -out:puttygen.exe -map:puttygen.map @puttygen.rsp |
| 173 | |
| 174 | pscp.exe: $(SOBJS) $(SFOBJS) $(COBJS) $(MOBJS) $(MOBJ2) $(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4) $(SRESRC) pscp.rsp |
| 175 | link $(LFLAGS) -out:pscp.exe -map:pscp.map @pscp.rsp |
| 176 | |
| 177 | psftp.exe: $(FOBJS) $(SFOBJS) $(COBJS) $(MOBJS) $(MOBJ2) $(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4) $(SRESRC) psftp.rsp |
| 178 | link $(LFLAGS) -out:psftp.exe -map:psftp.map @psftp.rsp |
| 179 | |
| 180 | plink.exe: $(LOBJS1) $(POBJS) $(PLOBJS) $(COBJS) $(MOBJS) $(MOBJ2) $(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4) $(LRESRC) plink.rsp |
| 181 | link $(LFLAGS) -out:plink.exe -map:plink.map @plink.rsp |
| 182 | |
| 183 | ssh.obj: |
| 184 | cl $(COMPAT) $(FWHACK) $(VER) $(XFLAGS) $(CFLAGS) /Gi- /c ssh.c |
| 185 | |
| 186 | putty.rsp: makefile |
| 187 | echo /nologo /subsystem:windows > putty.rsp |
| 188 | echo $(GOBJS1) >> putty.rsp |
| 189 | echo $(GOBJS2) >> putty.rsp |
| 190 | echo $(LOBJS1) >> putty.rsp |
| 191 | echo $(POBJS) >> putty.rsp |
| 192 | echo $(MOBJS) >> putty.rsp |
| 193 | echo $(MOBJ2) >> putty.rsp |
| 194 | echo $(OBJS1) >> putty.rsp |
| 195 | echo $(OBJS2) >> putty.rsp |
| 196 | echo $(OBJS3) >> putty.rsp |
| 197 | echo $(OBJS4) >> putty.rsp |
| 198 | echo $(PRESRC) >> putty.rsp |
| 199 | echo $(LIBS1) >> putty.rsp |
| 200 | echo $(LIBS2) >> putty.rsp |
| 201 | echo $(LIBS3) >> putty.rsp |
| 202 | echo $(SOCK1) >> putty.rsp |
| 203 | |
| 204 | puttytel.rsp: makefile |
| 205 | echo /nologo /subsystem:windows > puttytel.rsp |
| 206 | echo $(GOBJS1) >> puttytel.rsp |
| 207 | echo $(GOBJS2) >> puttytel.rsp |
| 208 | echo $(LOBJS1) >> puttytel.rsp |
| 209 | echo $(TOBJS) >> puttytel.rsp |
| 210 | echo $(MOBJS) >> puttytel.rsp |
| 211 | echo $(MOBJ2) >> puttytel.rsp |
| 212 | echo $(PRESRC) >> puttytel.rsp |
| 213 | echo $(LIBS1) >> puttytel.rsp |
| 214 | echo $(LIBS2) >> puttytel.rsp |
| 215 | echo $(LIBS3) >> puttytel.rsp |
| 216 | echo $(SOCK1) >> puttytel.rsp |
| 217 | |
| 218 | pageant.rsp: makefile |
| 219 | echo /nologo /subsystem:windows > pageant.rsp |
| 220 | echo $(PAGE1) >> pageant.rsp |
| 221 | echo $(PAGE2) >> pageant.rsp |
| 222 | echo $(PAGE3) >> pageant.rsp |
| 223 | echo $(PAGERC) >> pageant.rsp |
| 224 | echo $(LIBS1) >> pageant.rsp |
| 225 | echo $(LIBS2) >> pageant.rsp |
| 226 | echo $(LIBS3) >> pageant.rsp |
| 227 | |
| 228 | puttygen.rsp: makefile |
| 229 | echo /nologo /subsystem:windows > puttygen.rsp |
| 230 | echo $(GEN1) >> puttygen.rsp |
| 231 | echo $(GEN2) >> puttygen.rsp |
| 232 | echo $(GEN3) >> puttygen.rsp |
| 233 | echo $(GEN4) >> puttygen.rsp |
| 234 | echo $(GENRC) >> puttygen.rsp |
| 235 | echo $(LIBS1) >> puttygen.rsp |
| 236 | echo $(LIBS2) >> puttygen.rsp |
| 237 | echo $(LIBS3) >> puttygen.rsp |
| 238 | |
| 239 | pscp.rsp: makefile |
| 240 | echo /nologo /subsystem:console > pscp.rsp |
| 241 | echo $(SOBJS) >> pscp.rsp |
| 242 | echo $(SFOBJS) >> pscp.rsp |
| 243 | echo $(COBJS) >> pscp.rsp |
| 244 | echo $(MOBJS) >> pscp.rsp |
| 245 | echo $(MOBJ2) >> pscp.rsp |
| 246 | echo $(OBJS1) >> pscp.rsp |
| 247 | echo $(OBJS2) >> pscp.rsp |
| 248 | echo $(OBJS3) >> pscp.rsp |
| 249 | echo $(OBJS4) >> pscp.rsp |
| 250 | echo $(SRESRC) >> pscp.rsp |
| 251 | echo $(LIBS1) >> pscp.rsp |
| 252 | echo $(LIBS2) >> pscp.rsp |
| 253 | echo $(SOCK1) >> pscp.rsp |
| 254 | |
| 255 | psftp.rsp: makefile |
| 256 | echo /nologo /subsystem:console > psftp.rsp |
| 257 | echo $(FOBJS) >> psftp.rsp |
| 258 | echo $(SFOBJS) >> psftp.rsp |
| 259 | echo $(COBJS) >> psftp.rsp |
| 260 | echo $(MOBJS) >> psftp.rsp |
| 261 | echo $(MOBJ2) >> psftp.rsp |
| 262 | echo $(OBJS1) >> psftp.rsp |
| 263 | echo $(OBJS2) >> psftp.rsp |
| 264 | echo $(OBJS3) >> psftp.rsp |
| 265 | echo $(OBJS4) >> psftp.rsp |
| 266 | echo $(SRESRC) >> psftp.rsp |
| 267 | echo $(LIBS1) >> psftp.rsp |
| 268 | echo $(LIBS2) >> psftp.rsp |
| 269 | echo $(SOCK1) >> psftp.rsp |
| 270 | |
| 271 | plink.rsp: makefile |
| 272 | echo /nologo /subsystem:console > plink.rsp |
| 273 | echo $(LOBJS1) >> plink.rsp |
| 274 | echo $(POBJS) >> plink.rsp |
| 275 | echo $(PLOBJS) >> plink.rsp |
| 276 | echo $(COBJS) >> plink.rsp |
| 277 | echo $(MOBJS) >> plink.rsp |
| 278 | echo $(MOBJ2) >> plink.rsp |
| 279 | echo $(OBJS1) >> plink.rsp |
| 280 | echo $(OBJS2) >> plink.rsp |
| 281 | echo $(OBJS3) >> plink.rsp |
| 282 | echo $(OBJS4) >> plink.rsp |
| 283 | echo $(LRESRC) >> plink.rsp |
| 284 | echo $(LIBS1) >> plink.rsp |
| 285 | echo $(LIBS2) >> plink.rsp |
| 286 | echo $(SOCK2) >> plink.rsp |
| 287 | |
| 288 | ##-- dependencies |
| 289 | be_all.$(OBJ): be_all.c network.h misc.h puttymem.h putty.h |
| 290 | be_none.$(OBJ): be_none.c network.h misc.h puttymem.h putty.h |
| 291 | be_nossh.$(OBJ): be_nossh.c network.h misc.h puttymem.h putty.h |
| 292 | ber.$(OBJ): ber.c network.h asn.h misc.h asnerror.h int64.h puttymem.h ssh.h putty.h |
| 293 | cert.$(OBJ): cert.c asn.h asnerror.h misc.h puttymem.h cert.h crypto.h |
| 294 | debug.$(OBJ): debug.c debug.h |
| 295 | int64.$(OBJ): int64.c int64.h |
| 296 | ldisc.$(OBJ): ldisc.c network.h misc.h puttymem.h putty.h |
| 297 | misc.$(OBJ): misc.c network.h misc.h puttymem.h putty.h |
| 298 | mscrypto.$(OBJ): mscrypto.c network.h int64.h puttymem.h ssh.h |
| 299 | no_ssl.$(OBJ): no_ssl.c network.h misc.h puttymem.h putty.h |
| 300 | noise.$(OBJ): noise.c network.h misc.h puttymem.h storage.h int64.h ssh.h putty.h |
| 301 | pageant.$(OBJ): pageant.c network.h int64.h puttymem.h ssh.h tree234.h |
| 302 | pageantc.$(OBJ): pageantc.c puttymem.h |
| 303 | plink.$(OBJ): plink.c network.h misc.h puttymem.h storage.h putty.h tree234.h |
| 304 | portfwd.$(OBJ): portfwd.c network.h misc.h int64.h puttymem.h ssh.h putty.h |
| 305 | psftp.$(OBJ): psftp.c network.h misc.h sftp.h ssh.h storage.h int64.h puttymem.h putty.h |
| 306 | puttygen.$(OBJ): puttygen.c network.h misc.h int64.h puttymem.h winstuff.h ssh.h putty.h |
| 307 | raw.$(OBJ): raw.c network.h misc.h puttymem.h putty.h |
| 308 | rlogin.$(OBJ): rlogin.c network.h misc.h puttymem.h putty.h |
| 309 | scp.$(OBJ): scp.c network.h misc.h sftp.h ssh.h storage.h puttymem.h int64.h putty.h winstuff.h |
| 310 | settings.$(OBJ): settings.c network.h misc.h puttymem.h storage.h putty.h |
| 311 | sftp.$(OBJ): sftp.c sftp.h int64.h |
| 312 | sizetip.$(OBJ): sizetip.c network.h misc.h puttymem.h winstuff.h putty.h |
| 313 | ssh.$(OBJ): ssh.c network.h misc.h int64.h puttymem.h ssh.h putty.h tree234.h |
| 314 | sshaes.$(OBJ): sshaes.c network.h int64.h puttymem.h ssh.h |
| 315 | sshblowf.$(OBJ): sshblowf.c network.h int64.h puttymem.h ssh.h |
| 316 | sshbn.$(OBJ): sshbn.c network.h misc.h int64.h puttymem.h ssh.h putty.h |
| 317 | sshcrc.$(OBJ): sshcrc.c |
| 318 | sshdes.$(OBJ): sshdes.c network.h int64.h puttymem.h ssh.h |
| 319 | sshdh.$(OBJ): sshdh.c network.h int64.h puttymem.h ssh.h |
| 320 | sshdss.$(OBJ): sshdss.c network.h misc.h int64.h puttymem.h ssh.h |
| 321 | sshdssg.$(OBJ): sshdssg.c network.h misc.h int64.h puttymem.h ssh.h |
| 322 | sshmd5.$(OBJ): sshmd5.c network.h int64.h puttymem.h ssh.h |
| 323 | sshprime.$(OBJ): sshprime.c network.h int64.h puttymem.h ssh.h |
| 324 | sshpubk.$(OBJ): sshpubk.c network.h int64.h puttymem.h ssh.h |
| 325 | sshrand.$(OBJ): sshrand.c network.h int64.h puttymem.h ssh.h |
| 326 | sshrsa.$(OBJ): sshrsa.c network.h int64.h puttymem.h ssh.h |
| 327 | sshrsag.$(OBJ): sshrsag.c network.h int64.h puttymem.h ssh.h |
| 328 | sshsh512.$(OBJ): sshsh512.c network.h int64.h puttymem.h ssh.h |
| 329 | sshsha.$(OBJ): sshsha.c network.h int64.h puttymem.h ssh.h |
| 330 | sshzlib.$(OBJ): sshzlib.c network.h int64.h puttymem.h ssh.h |
| 331 | ssl.$(OBJ): ssl.c network.h asnerror.h misc.h cert.h crypto.h ssl.h int64.h puttymem.h |
| 332 | telnet.$(OBJ): telnet.c network.h misc.h puttymem.h putty.h |
| 333 | terminal.$(OBJ): terminal.c network.h misc.h puttymem.h putty.h tree234.h |
| 334 | logging.$(OBJ): logging.c misc.h puttymem.h putty.h |
| 335 | test.$(OBJ): test.c network.h int64.h puttymem.h ssh.h |
| 336 | tree234.$(OBJ): tree234.c tree234.h |
| 337 | unicode.$(OBJ): unicode.c network.h misc.h puttymem.h putty.h |
| 338 | version.$(OBJ): version.c |
| 339 | wcwidth.$(OBJ): wcwidth.c |
| 340 | wildcard.$(OBJ): wildcard.c |
| 341 | winctrls.$(OBJ): winctrls.c network.h misc.h puttymem.h putty.h winstuff.h |
| 342 | windlg.$(OBJ): windlg.c network.h misc.h ssh.h storage.h puttymem.h int64.h putty.h winstuff.h win_res.h |
| 343 | window.$(OBJ): window.c network.h misc.h puttymem.h storage.h winstuff.h putty.h win_res.h |
| 344 | winnet.$(OBJ): winnet.c network.h misc.h puttymem.h putty.h tree234.h |
| 345 | winstore.$(OBJ): winstore.c network.h misc.h puttymem.h storage.h putty.h |
| 346 | x11fwd.$(OBJ): x11fwd.c network.h misc.h int64.h puttymem.h ssh.h putty.h |
| 347 | ##-- |
| 348 | |
| 349 | # Hack to force version.obj to be rebuilt always |
| 350 | version.obj: *.c *.h *.rc |
| 351 | cl $(FWHACK) $(VER) $(CFLAGS) /c version.c |
| 352 | |
| 353 | ##-- dependencies |
| 354 | win_res.$(RES): win_res.rc win_res.h putty.ico |
| 355 | ##-- |
| 356 | win_res.$(RES): |
| 357 | rc $(FWHACK) $(RCFL) -r -DWIN32 -D_WIN32 -DWINVER=0x0400 win_res.rc |
| 358 | |
| 359 | ##-- dependencies |
| 360 | scp.$(RES): scp.rc scp.ico |
| 361 | ##-- |
| 362 | scp.$(RES): |
| 363 | rc $(FWHACK) $(RCFL) -r -DWIN32 -D_WIN32 -DWINVER=0x0400 scp.rc |
| 364 | |
| 365 | ##-- dependencies |
| 366 | pageant.$(RES): pageant.rc pageant.ico pageants.ico |
| 367 | ##-- |
| 368 | pageant.$(RES): |
| 369 | rc $(FWHACK) $(RCFL) -r -DWIN32 -D_WIN32 -DWINVER=0x0400 pageant.rc |
| 370 | |
| 371 | ##-- dependencies |
| 372 | puttygen.$(RES): puttygen.rc puttygen.ico |
| 373 | ##-- |
| 374 | puttygen.$(RES): |
| 375 | rc $(FWHACK) $(RCFL) -r -DWIN32 -D_WIN32 -DWINVER=0x0400 puttygen.rc |
| 376 | |
| 377 | clean: tidy |
| 378 | -del *.exe |
| 379 | |
| 380 | tidy: |
| 381 | -del *.obj |
| 382 | -del *.res |
| 383 | -del *.pch |
| 384 | -del *.aps |
| 385 | -del *.ilk |
| 386 | -del *.pdb |
| 387 | -del *.rsp |
| 388 | -del *.dsp |
| 389 | -del *.dsw |
| 390 | -del *.ncb |
| 391 | -del *.opt |
| 392 | -del *.plg |
| 393 | -del *.map |
| 394 | -del *.idb |
| 395 | -del debug.log |