1 # Makefile for PuTTY. Use `FWHACK=/DFWHACK' to cause the firewall hack
2 # to be built in. (requires rebuild of ssh.obj only)
4 # Can also build with `VER=/DSNAPSHOT=1999-01-25' or
5 # `VER=/DRELEASE=0.43' to get version numbering; otherwise you'll
6 # get `Unidentified build'.
8 # COMPAT=/DWIN32S_COMPAT will produce a binary that works (minimally)
11 CFLAGS
= /nologo
/W3
/YX
/O2
/Yd
/D_WINDOWS
/DDEBUG
/ML
/Fd
14 cl
$(COMPAT
) $(FWHACK
) $(CFLAGS
) /c
$*.c
16 PUTTYOBJS
= window.obj windlg.obj terminal.obj telnet.obj raw.obj xlat.obj
17 OBJS1
= misc.obj noise.obj
18 OBJS2
= ssh.obj sshcrc.obj sshdes.obj sshmd5.obj sshrsa.obj sshrand.obj
19 OBJS3
= sshsha.obj sshblowf.obj version.obj sizetip.obj
21 LIBS1
= advapi32.lib user32.lib gdi32.lib
22 LIBS2
= wsock32.lib comctl32.lib comdlg32.lib
23 SCPOBJS
= scp.obj windlg.obj misc.obj noise.obj
24 SCPOBJS2
= scpssh.obj sshcrc.obj sshdes.obj sshmd5.obj
25 SCPOBJS3
= sshrsa.obj sshrand.obj sshsha.obj sshblowf.obj version.obj
27 all: putty.exe pscp.exe
29 putty.exe
: $(PUTTYOBJS
) $(OBJS1
) $(OBJS2
) $(OBJS3
) $(RESRC
) link.rsp
30 link
/debug
-out
:putty.exe @link.rsp
32 puttyd.exe
: $(PUTTYOBJS
) $(OBJS1
) $(OBJS2
) $(OBJS3
) $(RESRC
) link.rsp
33 link
/debug
-out
:puttyd.exe @link.rsp
36 echo
/nologo
/subsystem
:windows
> link.rsp
37 echo
$(PUTTYOBJS
) >> link.rsp
38 echo
$(OBJS1
) >> link.rsp
39 echo
$(OBJS2
) >> link.rsp
40 echo
$(OBJS3
) >> link.rsp
41 echo
$(RESRC
) >> link.rsp
42 echo
$(LIBS1
) >> link.rsp
43 echo
$(LIBS2
) >> link.rsp
45 window.obj
: window.c putty.h win_res.h sizetip.h
46 windlg.obj
: windlg.c putty.h ssh.h win_res.h
47 terminal.obj
: terminal.c putty.h
48 sizetip.obj
: sizetip.c putty.h
49 telnet.obj
: telnet.c putty.h
50 raw.obj
: raw.c putty.h
51 xlat.obj
: xlat.c putty.h
52 misc.obj
: misc.c putty.h
53 noise.obj
: noise.c putty.h ssh.h
54 ssh.obj
: ssh.c ssh.h putty.h
55 sshcrc.obj
: sshcrc.c ssh.h
56 sshdes.obj
: sshdes.c ssh.h
57 sshmd5.obj
: sshmd5.c ssh.h
58 sshrsa.obj
: sshrsa.c ssh.h
59 sshsha.obj
: sshsha.c ssh.h
60 sshrand.obj
: sshrand.c ssh.h
61 sshblowf.obj
: sshblowf.c ssh.h
62 version.obj
: versionpseudotarget
63 @echo
(built version.obj
)
65 # Hack to force version.obj to be rebuilt always
67 cl
$(FWHACK
) $(VER
) $(CFLAGS
) /c version.c
69 win_res.res
: win_res.rc win_res.h putty.ico
70 rc
$(FWHACK
) -r
-DWIN32
-D_WIN32
-DWINVER
=0x0400 win_res.rc
72 pscp.exe
: $(SCPOBJS
) $(SCPOBJS2
) $(SCPOBJS3
) scp.res scp.rsp
73 link
/debug
-out
:pscp.exe @scp.rsp
76 echo
/nologo
/subsystem
:console
> scp.rsp
77 echo
$(SCPOBJS
) >> scp.rsp
78 echo
$(SCPOBJS2
) >> scp.rsp
79 echo
$(SCPOBJS3
) >> scp.rsp
80 echo scp.res
>> scp.rsp
81 echo
$(LIBS1
) >> scp.rsp
82 echo
$(LIBS2
) >> scp.rsp
84 scp.obj
: scp.c putty.h scp.h
85 scpssh.obj
: scpssh.c putty.h ssh.h scp.h
87 scp.res
: scp.rc scp.ico
88 rc
-r
-DWIN32
-D_WIN32
-DWINVER
=0x0400 scp.rc