I added more detail to the `Authentication failed at PuTTY X11
[u/mdw/putty] / Recipe
diff --git a/Recipe b/Recipe
index cb6f188..8cbc841 100644 (file)
--- a/Recipe
+++ b/Recipe
@@ -6,6 +6,24 @@
 # really be made by editing this file and/or the Perl script, not
 # by editing the actual Makefiles.
 
+# ------------------------------------------------------------
+# Top-level configuration.
+
+# Overall project name.
+!name putty
+# Locations and types of output Makefiles.
+!makefile vc Makefile.vc
+!makefile vcproj MSVC
+!makefile cygwin Makefile.cyg
+!makefile borland Makefile.bor
+!makefile lcc Makefile.lcc
+!makefile gtk unix/Makefile.gtk
+!makefile mpw mac/Makefile.mpw
+# Source directories.
+!srcdir charset/
+!srcdir unix/
+!srcdir mac/
+
 # Help text added to the top of each Makefile, with /D converted
 # into -D as appropriate for the particular Makefile.
 
@@ -35,7 +53,8 @@
 #
 #  - COMPAT=/DNO_SECURITY
 #      Disables Pageant's use of <aclapi.h>, which is not available
-#      with some development environments. This means that Pageant
+#      with some development environments (such as older versions of
+#      the Cygwin/mingw GNU toolchain). This means that Pageant
 #      won't care about the local user ID of processes accessing it; a
 #      version of Pageant built with this option will therefore refuse
 #      to run under NT-series OSes on security grounds (although it
 #
 !end
 
+# ------------------------------------------------------------
+# Additional text added verbatim to each individual Makefile.
+
+# Hack to force version.o to be rebuilt always.
+!begin vc
+version.obj: *.c *.h *.rc
+       cl $(FWHACK) $(VER) $(CFLAGS) /c version.c
+!end
+!begin cygwin
+version.o: FORCE;
+FORCE:
+       $(CC) $(COMPAT) $(FWHACK) $(XFLAGS) $(CFLAGS) $(VER) -c version.c
+!end
+!begin borland
+version.obj: FORCE
+FORCE:
+       bcc32 $(FWHACK) $(VER) $(CFLAGS) /c version.obj
+!end
+!begin lcc
+version.o: FORCE
+FORCE:
+       lcc $(FWHACK) $(VER) $(CFLAGS) /c version.c
+!end
+# 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:
+       if test -z "$(VER)" && (cd ..; md5sum -c manifest); then \
+               $(CC) $(COMPAT) $(FWHACK) $(XFLAGS) $(CFLAGS) `cat ../version.def` -c ../version.c; \
+       else \
+               $(CC) $(COMPAT) $(FWHACK) $(XFLAGS) $(CFLAGS) $(VER) -c ../version.c; \
+       fi
+!end
+
+# `make install' target for Unix.
+!begin gtk
+install:
+       $(INSTALL_PROGRAM) -m 755 plink $(DESTDIR)$(bindir)/plink
+       $(INSTALL_PROGRAM) -m 755 pscp $(DESTDIR)$(bindir)/pscp
+       $(INSTALL_PROGRAM) -m 755 psftp $(DESTDIR)$(bindir)/psftp
+       $(INSTALL_PROGRAM) -m 755 pterm $(DESTDIR)$(bindir)/pterm
+       $(INSTALL_PROGRAM) -m 755 putty $(DESTDIR)$(bindir)/putty
+       $(INSTALL_PROGRAM) -m 755 puttygen $(DESTDIR)$(bindir)/puttygen
+       $(INSTALL_PROGRAM) -m 755 puttytel $(DESTDIR)$(bindir)/puttytel
+       $(INSTALL_DATA) -m 644 ../doc/plink.1 $(DESTDIR)$(man1dir)/plink.1
+       $(INSTALL_DATA) -m 644 ../doc/pscp.1 $(DESTDIR)$(man1dir)/pscp.1
+       $(INSTALL_DATA) -m 644 ../doc/psftp.1 $(DESTDIR)$(man1dir)/psftp.1
+       $(INSTALL_DATA) -m 644 ../doc/pterm.1 $(DESTDIR)$(man1dir)/pterm.1
+       $(INSTALL_DATA) -m 644 ../doc/putty.1 $(DESTDIR)$(man1dir)/putty.1
+       $(INSTALL_DATA) -m 644 ../doc/puttygen.1 $(DESTDIR)$(man1dir)/puttygen.1
+       $(INSTALL_DATA) -m 644 ../doc/puttytel.1 $(DESTDIR)$(man1dir)/puttytel.1
+
+install-strip:
+       $(MAKE) install INSTALL_PROGRAM="$(INSTALL_PROGRAM) -s"
+!end
+
+# ------------------------------------------------------------
 # Definitions of object groups. A group name, followed by an =,
 # followed by any number of objects or other already-defined group
 # names. A line beginning `+' is assumed to continue the previous
@@ -123,23 +200,23 @@ MACMISC  = misc version macstore settings tree234 macnet mtcpnet otnet proxy
 # Character set library, for use in pterm.
 CHARSET  = sbcsdat slookup sbcs utf8 toucs fromucs xenc mimeenc macenc localenc
 
-# Standard libraries, and the same with WinSocks 1 and 2.
+# Standard libraries.
 LIBS     = advapi32.lib user32.lib gdi32.lib comctl32.lib comdlg32.lib
          + shell32.lib winmm.lib imm32.lib winspool.lib
-LIBS1    = LIBS wsock32.lib
-LIBS2    = LIBS ws2_32.lib
 
+# ------------------------------------------------------------
 # Definitions of actual programs. The program name, followed by a
 # colon, followed by a list of objects. Also in the list may be the
 # 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 LIBS1
-puttytel : [G] GUITERM NONSSH be_nossh WINMISC win_res.res LIBS1
+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] plink console NONSSH WINSSH be_all logging WINMISC
-         + plink.res LIBS2
-pscp     : [C] scp console WINSSH be_none SFTP wildcard WINMISC scp.res LIBS1
-psftp    : [C] psftp console WINSSH be_none SFTP WINMISC scp.res LIBS1
+         + plink.res LIBS
+pscp     : [C] scp winsftp console WINSSH be_none SFTP wildcard WINMISC
+         + scp.res LIBS
+psftp    : [C] psftp winsftp console WINSSH be_none SFTP WINMISC scp.res LIBS
 
 pageant  : [G] pageant sshrsa sshpubk sshdes sshbn sshmd5 version tree234
          + misc sshaes sshsha pageantc sshdss sshsh512 winutils winmisc
@@ -158,6 +235,13 @@ puttytel : [X] UXTERM uxmisc misc ldisc settings pty uxsel be_nossh uxstore
 
 plink    : [U] uxplink uxcons NONSSH UXSSH be_all logging UXMISC signal ux_x11
 
+puttygen : [U] cmdgen sshrsag sshdssg sshprime sshdes sshbn sshmd5 version
+         + sshrand uxnoise sshsha misc sshrsa sshdss uxcons uxstore uxmisc
+         + sshpubk sshaes sshsh512 import puttygen.res tree234 uxgen
+
+pscp     : [U] scp uxsftp uxcons UXSSH be_none SFTP wildcard UXMISC
+psftp    : [U] psftp uxsftp uxcons UXSSH be_none SFTP UXMISC
+
 PuTTY    : [M] terminal wcwidth ldiscucs logging be_all mac macdlg macevlog
          + macterm macucs mac_res.rsrc testback NONSSH MACSSH MACMISC CHARSET
          + stricmp vsnprint dialog config macctrls