X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/d2ab2f0b68bbccec0543b21f9d56520ecd2d34ba..db6452becbc34d72796f883c4bb26a9860b9eb0a:/Recipe diff --git a/Recipe b/Recipe index cd3c2924..9f047781 100644 --- a/Recipe +++ b/Recipe @@ -21,6 +21,7 @@ !makefile ac unix/Makefile.in !makefile mpw mac/Makefile.mpw !makefile osx macosx/Makefile +!makefile devcppproj windows/DEVCPP # Source directories. !srcdir charset/ !srcdir windows/ @@ -35,9 +36,9 @@ # # Extra options you can set: # -# - VER=/DSNAPSHOT=1999-01-25 +# - VER="/DSNAPSHOT=1999-01-25 /DSVN_REV=1234" # Generates executables whose About box report them as being a -# development snapshot. +# development snapshot. SVN_REV is a Subversion revision number. # # - VER=/DRELEASE=0.43 # Generates executables whose About box report them as being a @@ -72,7 +73,17 @@ # build, since at the time of writing this is # known not to be available in Cygwin. # -# - COMPAT=/DNO_MANIFESTS (Windows only) +# - COMPAT=/DNO_HTMLHELP (Windows only) +# Disables PuTTY's use of , which is not available +# with some development environments. The resulting binary +# will only look for an old-style WinHelp file (.HLP/.CNT), and +# will ignore any .CHM file. +# +# Note that this definition is always enabled in the Cygwin +# build, since at the time of writing this is +# known not to be available in Cygwin. +# +# - RCFL=/DNO_MANIFESTS (Windows only) # Disables inclusion of XML application manifests in the PuTTY # binaries. This may be necessary to build for 64-bit Windows; # the manifests are only included to use the XP GUI style on @@ -126,27 +137,23 @@ version.obj: *.c *.h *.rc !specialobj vc version !begin cygwin version.o: FORCE -FORCE: $(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) $(VER) -c ../version.c !end !specialobj cygwin version !begin borland version.obj: FORCE -FORCE: bcc32 $(VER) $(CFLAGS) /c ..\version.c !end !specialobj borland version !begin lcc version.obj: FORCE -FORCE: lcc $(VER) $(CFLAGS) /c ..\version.c !end !specialobj lcc version # For Unix, we also need the gross MD5 hack that causes automatic # version number selection in release source archives. !begin gtk -version.o: FORCE; -FORCE: +version.o: FORCE if test -z "$(VER)" && (cd ..; md5sum -c manifest); then \ $(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) `cat ../version.def` -c ../version.c; \ else \ @@ -155,6 +162,30 @@ FORCE: !end !specialobj gtk version +# Add VER to Windows resource targets, and force them to be rebuilt every +# time, on the assumption that they will contain version information. +!begin vc vars +RCFLAGS = $(RCFLAGS) $(VER) +!end +!begin cygwin vars +# XXX GNU-ism, but it's probably all right for a Cygwin/MinGW Makefile. +RCFLAGS += $(patsubst -D%,--define %,$(VER)) +!end +!begin borland vars +# Borland doesn't support +=. This probably shouldn't work, but seems to. +RCFLAGS = $(RCFLAGS) $(VER) +!end +!begin lcc vars +RCFLAGS += $(VER) +!end +!forceobj putty.res +!forceobj puttytel.res +!forceobj plink.res +!forceobj pscp.res +!forceobj psftp.res +!forceobj pageant.res +!forceobj puttygen.res + # `make install' target for Unix. !begin gtk install: @@ -199,10 +230,10 @@ TERMINAL = terminal wcwidth ldiscucs logging tree234 minibidi # GUI front end and terminal emulator (putty, puttytel). GUITERM = TERMINAL window windlg winctrls sizetip winucs winprint - + winutils wincfg + + winutils wincfg sercfg winhelp # Same thing on Unix. -UXTERM = TERMINAL uxcfg uxucs uxprint timing +UXTERM = TERMINAL uxcfg sercfg uxucs uxprint timing GTKTERM = UXTERM gtkwin gtkcfg gtkdlg gtkcols gtkpanel xkeysym OSXTERM = UXTERM osxwin osxdlg osxctrls @@ -212,7 +243,7 @@ NONSSH = telnet raw rlogin ldisc pinger # SSH back end (putty, plink, pscp, psftp). SSH = ssh sshcrc sshdes sshmd5 sshrsa sshrand sshsha sshblowf + sshdh sshcrcda sshpubk sshzlib sshdss x11fwd portfwd - + sshaes sshsh512 sshbn wildcard pinger ssharcf + + sshaes sshsh256 sshsh512 sshbn wildcard pinger ssharcf WINSSH = SSH winnoise winpgntc UXSSH = SSH uxnoise uxagentc MACSSH = SSH macnoise @@ -223,7 +254,8 @@ SFTP = sftp int64 logging # Miscellaneous objects appearing in all the network utilities (not # Pageant or PuTTYgen). MISC = timing misc version settings tree234 proxy -WINMISC = MISC winstore winnet cmdline windefs winmisc pproxy wintime +WINMISC = MISC winstore winnet winhandl cmdline windefs winmisc winproxy + + wintime UXMISC = MISC uxstore uxsel uxnet cmdline uxmisc uxproxy time OSXMISC = MISC uxstore uxsel osxsel uxnet uxmisc uxproxy time MACMISC = MISC macstore macnet mtcpnet otnet macmisc macabout pproxy @@ -241,6 +273,12 @@ BE_ALL = be_all cproxy BE_NOSSH = be_nossh nocproxy BE_SSH = be_none cproxy BE_NONE = be_none nocproxy +# More backend sets, with the additional Windows serial-port module. +W_BE_ALL = be_all_s winser cproxy +W_BE_NOSSH = be_nos_s winser nocproxy +# And with the Unix serial-port module. +U_BE_ALL = be_all_s uxser cproxy +U_BE_NOSSH = be_nos_s uxser nocproxy # ------------------------------------------------------------ # Definitions of actual programs. The program name, followed by a @@ -248,32 +286,33 @@ BE_NONE = be_none nocproxy # keywords [G] for Windows GUI app, [C] for Console app, [X] for # X/GTK Unix app, [U] for command-line Unix app, [M] for Macintosh app. -putty : [G] GUITERM NONSSH WINSSH BE_ALL WINMISC win_res.res LIBS -puttytel : [G] GUITERM NONSSH BE_NOSSH WINMISC win_res.res LIBS -plink : [C] winplink wincons NONSSH WINSSH BE_ALL logging WINMISC +putty : [G] GUITERM NONSSH WINSSH W_BE_ALL WINMISC putty.res LIBS +puttytel : [G] GUITERM NONSSH W_BE_NOSSH WINMISC puttytel.res LIBS +plink : [C] winplink wincons NONSSH WINSSH W_BE_ALL logging WINMISC + plink.res LIBS pscp : [C] pscp winsftp wincons WINSSH BE_SSH SFTP wildcard WINMISC + pscp.res LIBS psftp : [C] psftp winsftp wincons WINSSH BE_SSH SFTP wildcard WINMISC - + pscp.res LIBS + + psftp.res LIBS pageant : [G] winpgnt sshrsa sshpubk sshdes sshbn sshmd5 version tree234 + misc sshaes sshsha winpgntc sshdss sshsh512 winutils winmisc - + pageant.res LIBS + + winhelp pageant.res LIBS puttygen : [G] winpgen sshrsag sshdssg sshprime sshdes sshbn sshmd5 version + sshrand winnoise sshsha winstore misc winctrls sshrsa sshdss winmisc + sshpubk sshaes sshsh512 import winutils puttygen.res tree234 - + notiming LIBS wintime + + notiming winhelp LIBS wintime pterm : [X] GTKTERM uxmisc misc ldisc settings uxpty uxsel BE_NONE uxstore + uxsignal CHARSET cmdline uxpterm version time -putty : [X] GTKTERM uxmisc misc ldisc settings uxsel BE_ALL uxstore +putty : [X] GTKTERM uxmisc misc ldisc settings uxsel U_BE_ALL uxstore + uxsignal CHARSET uxputty NONSSH UXSSH UXMISC ux_x11 -puttytel : [X] GTKTERM uxmisc misc ldisc settings uxsel BE_NOSSH +puttytel : [X] GTKTERM uxmisc misc ldisc settings uxsel U_BE_NOSSH + uxstore uxsignal CHARSET uxputty NONSSH UXMISC -plink : [U] uxplink uxcons NONSSH UXSSH BE_ALL logging UXMISC uxsignal ux_x11 +plink : [U] uxplink uxcons NONSSH UXSSH U_BE_ALL logging UXMISC uxsignal + + ux_x11 puttygen : [U] cmdgen sshrsag sshdssg sshprime sshdes sshbn sshmd5 version + sshrand uxnoise sshsha misc sshrsa sshdss uxcons uxstore uxmisc @@ -293,5 +332,5 @@ PuTTYgen : [M] macpgen sshrsag sshdssg sshprime sshdes sshbn sshmd5 version + sshrand macnoise sshsha macstore misc sshrsa sshdss macmisc sshpubk + sshaes sshsh512 import macpgen.rsrc macpgkey macabout -PuTTY : [MX] osxmain OSXTERM OSXMISC CHARSET BE_ALL NONSSH UXSSH +PuTTY : [MX] osxmain OSXTERM OSXMISC CHARSET U_BE_ALL NONSSH UXSSH + ux_x11 uxpty uxsignal testback putty.icns info.plist