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 POBJS1
= window.obj windlg.obj terminal.obj telnet.obj raw.obj
17 POBJS2
= xlat.obj ldisc.obj
18 OBJS1
= misc.obj noise.obj
19 OBJS2
= ssh.obj sshcrc.obj sshdes.obj sshmd5.obj sshrsa.obj sshrand.obj
20 OBJS3
= sshsha.obj sshblowf.obj version.obj sizetip.obj
22 LIBS1
= advapi32.lib user32.lib gdi32.lib
23 LIBS2
= wsock32.lib comctl32.lib comdlg32.lib
24 SCPOBJS
= scp.obj windlg.obj misc.obj noise.obj
25 SCPOBJS2
= scpssh.obj sshcrc.obj sshdes.obj sshmd5.obj
26 SCPOBJS3
= sshrsa.obj sshrand.obj sshsha.obj sshblowf.obj version.obj
28 all: putty.exe pscp.exe
30 putty.exe
: $(POBJS1
) $(POBJS2
) $(OBJS1
) $(OBJS2
) $(OBJS3
) $(RESRC
) link.rsp
31 link
/debug
-out
:putty.exe @link.rsp
33 puttyd.exe
: $(POBJS1
) $(POBJS2
) $(OBJS1
) $(OBJS2
) $(OBJS3
) $(RESRC
) link.rsp
34 link
/debug
-out
:puttyd.exe @link.rsp
37 echo
/nologo
/subsystem
:windows
> link.rsp
38 echo
$(POBJS1
) >> link.rsp
39 echo
$(POBJS2
) >> link.rsp
40 echo
$(OBJS1
) >> link.rsp
41 echo
$(OBJS2
) >> link.rsp
42 echo
$(OBJS3
) >> link.rsp
43 echo
$(RESRC
) >> link.rsp
44 echo
$(LIBS1
) >> link.rsp
45 echo
$(LIBS2
) >> link.rsp
47 window.obj
: window.c putty.h win_res.h
48 windlg.obj
: windlg.c putty.h ssh.h win_res.h
49 terminal.obj
: terminal.c putty.h
50 sizetip.obj
: sizetip.c putty.h
51 telnet.obj
: telnet.c putty.h
52 raw.obj
: raw.c putty.h
53 xlat.obj
: xlat.c putty.h
54 ldisc.obj
: ldisc.c putty.h
55 misc.obj
: misc.c putty.h
56 noise.obj
: noise.c putty.h ssh.h
57 ssh.obj
: ssh.c ssh.h putty.h
58 sshcrc.obj
: sshcrc.c ssh.h
59 sshdes.obj
: sshdes.c ssh.h
60 sshmd5.obj
: sshmd5.c ssh.h
61 sshrsa.obj
: sshrsa.c ssh.h
62 sshsha.obj
: sshsha.c ssh.h
63 sshrand.obj
: sshrand.c ssh.h
64 sshblowf.obj
: sshblowf.c ssh.h
65 version.obj
: versionpseudotarget
66 @echo
(built version.obj
)
68 # Hack to force version.obj to be rebuilt always
70 cl
$(FWHACK
) $(VER
) $(CFLAGS
) /c version.c
72 win_res.res
: win_res.rc win_res.h putty.ico
73 rc
$(FWHACK
) -r
-DWIN32
-D_WIN32
-DWINVER
=0x0400 win_res.rc
75 pscp.exe
: $(SCPOBJS
) $(SCPOBJS2
) $(SCPOBJS3
) scp.res scp.rsp
76 link
/debug
-out
:pscp.exe @scp.rsp
79 echo
/nologo
/subsystem
:console
> scp.rsp
80 echo
$(SCPOBJS
) >> scp.rsp
81 echo
$(SCPOBJS2
) >> scp.rsp
82 echo
$(SCPOBJS3
) >> scp.rsp
83 echo scp.res
>> scp.rsp
84 echo
$(LIBS1
) >> scp.rsp
85 echo
$(LIBS2
) >> scp.rsp
87 scp.obj
: scp.c putty.h scp.h
88 scpssh.obj
: scpssh.c putty.h ssh.h scp.h
90 scp.res
: scp.rc scp.ico
91 rc
-r
-DWIN32
-D_WIN32
-DWINVER
=0x0400 scp.rc