| 1 | # -*- makefile -*- |
| 2 | # |
| 3 | # This file describes which PuTTY programs are made up from which |
| 4 | # object and resource files. It is processed into the various |
| 5 | # Makefiles by means of a Perl script. Makefile changes should |
| 6 | # really be made by editing this file and/or the Perl script, not |
| 7 | # by editing the actual Makefiles. |
| 8 | |
| 9 | # Help text added to the top of each Makefile, with /D converted |
| 10 | # into -D as appropriate for the particular Makefile. |
| 11 | |
| 12 | !begin help |
| 13 | # |
| 14 | # Extra options you can set: |
| 15 | # |
| 16 | # - FWHACK=/DFWHACK |
| 17 | # Enables a hack that tunnels through some firewall proxies. |
| 18 | # |
| 19 | # - VER=/DSNAPSHOT=1999-01-25 |
| 20 | # Generates executables whose About box report them as being a |
| 21 | # development snapshot. |
| 22 | # |
| 23 | # - VER=/DRELEASE=0.43 |
| 24 | # Generates executables whose About box report them as being a |
| 25 | # release version. |
| 26 | # |
| 27 | # - COMPAT=/DAUTO_WINSOCK |
| 28 | # Causes PuTTY to assume that <windows.h> includes its own WinSock |
| 29 | # header file, so that it won't try to include <winsock.h>. |
| 30 | # |
| 31 | # - COMPAT=/DWINSOCK_TWO |
| 32 | # Causes the PuTTY utilities to include <winsock2.h> instead of |
| 33 | # <winsock.h>, except Plink which _needs_ WinSock 2 so it already |
| 34 | # does this. |
| 35 | # |
| 36 | # - COMPAT=/DNO_SECURITY |
| 37 | # Disables Pageant's use of <aclapi.h>, which is not available |
| 38 | # with some development environments. This means that Pageant |
| 39 | # won't care about the local user ID of processes accessing it; a |
| 40 | # version of Pageant built with this option will therefore refuse |
| 41 | # to run under NT-series OSes on security grounds (although it |
| 42 | # will run fine on Win95-series OSes where there is no access |
| 43 | # control anyway). |
| 44 | # |
| 45 | # Note that this definition is always enabled in the Cygwin |
| 46 | # build, since at the time of writing this <aclapi.h> is known |
| 47 | # not to be available in Cygwin. |
| 48 | # |
| 49 | # - COMPAT=/DNO_MULTIMON |
| 50 | # Disables PuTTY's use of <multimon.h>, which is not available |
| 51 | # with some development environments. This means that PuTTY's |
| 52 | # full-screen mode (configurable to work on Alt-Enter) will |
| 53 | # not behave usefully in a multi-monitor environment. |
| 54 | # |
| 55 | # Note that this definition is always enabled in the Cygwin |
| 56 | # build, since at the time of writing this <multimon.h> is |
| 57 | # known not to be available in Cygwin. |
| 58 | # |
| 59 | # - COMPAT=/DMSVC4 |
| 60 | # - RCFL=/DMSVC4 |
| 61 | # Makes a couple of minor changes so that PuTTY compiles using |
| 62 | # MSVC 4. You will also need /DNO_SECURITY and /DNO_MULTIMON. |
| 63 | # |
| 64 | # - RCFL=/DASCIICTLS |
| 65 | # Uses ASCII rather than Unicode to specify the tab control in |
| 66 | # the resource file. Probably most useful when compiling with |
| 67 | # Cygnus/mingw32, whose resource compiler may have less of a |
| 68 | # problem with it. |
| 69 | # |
| 70 | # - XFLAGS=/DDEBUG |
| 71 | # Causes PuTTY to enable internal debugging. |
| 72 | # |
| 73 | # - XFLAGS=/DMALLOC_LOG |
| 74 | # Causes PuTTY to emit a file called putty_mem.log, logging every |
| 75 | # memory allocation and free, so you can track memory leaks. |
| 76 | # |
| 77 | # - XFLAGS=/DMINEFIELD |
| 78 | # Causes PuTTY to use a custom memory allocator, similar in |
| 79 | # concept to Electric Fence, in place of regular malloc(). Wastes |
| 80 | # huge amounts of RAM, but should cause heap-corruption bugs to |
| 81 | # show up as GPFs at the point of failure rather than appearing |
| 82 | # later on as second-level damage. |
| 83 | # |
| 84 | !end |
| 85 | |
| 86 | # Definitions of object groups. A group name, followed by an =, |
| 87 | # followed by any number of objects or other already-defined group |
| 88 | # names. A line beginning `+' is assumed to continue the previous |
| 89 | # line. |
| 90 | |
| 91 | # GUI front end and terminal emulator (putty, puttytel). |
| 92 | GUITERM = window windlg winctrls terminal sizetip wcwidth unicode ldiscucs |
| 93 | + logging printing winutils |
| 94 | |
| 95 | # Non-SSH back ends (putty, puttytel, plink). |
| 96 | NONSSH = telnet raw rlogin ldisc |
| 97 | |
| 98 | # SSH back end (putty, plink, pscp, psftp). |
| 99 | SSH = ssh sshcrc sshdes sshmd5 sshrsa sshrand sshsha sshblowf |
| 100 | + sshdh sshcrcda sshpubk sshzlib sshdss x11fwd portfwd |
| 101 | + sshaes sshsh512 sshbn |
| 102 | WINSSH = SSH noise pageantc |
| 103 | UXSSH = SSH uxnoise uxagentc |
| 104 | |
| 105 | # SFTP implementation (pscp, psftp). |
| 106 | SFTP = sftp int64 logging |
| 107 | |
| 108 | # Miscellaneous objects appearing in all the network utilities (not |
| 109 | # Pageant or PuTTYgen). |
| 110 | WINMISC = misc version winstore settings tree234 winnet proxy cmdline |
| 111 | UXMISC = misc version uxstore settings tree234 uxnet proxy cmdline |
| 112 | |
| 113 | # Standard libraries, and the same with WinSocks 1 and 2. |
| 114 | LIBS = advapi32.lib user32.lib gdi32.lib comctl32.lib comdlg32.lib |
| 115 | + shell32.lib winmm.lib imm32.lib winspool.lib |
| 116 | LIBS1 = LIBS wsock32.lib |
| 117 | LIBS2 = LIBS ws2_32.lib |
| 118 | |
| 119 | # Definitions of actual programs. The program name, followed by a |
| 120 | # colon, followed by a list of objects. Also in the list may be the |
| 121 | # keywords [G] for Windows GUI app, [C] for Console app, [X] for |
| 122 | # X/GTK Unix app, [U] for command-line Unix app. |
| 123 | |
| 124 | putty : [G] GUITERM NONSSH WINSSH be_all WINMISC win_res.res LIBS1 |
| 125 | puttytel : [G] GUITERM NONSSH be_nossh WINMISC win_res.res LIBS1 |
| 126 | plink : [C] plink console NONSSH WINSSH be_all logging WINMISC |
| 127 | + plink.res LIBS2 |
| 128 | pscp : [C] scp console WINSSH be_none SFTP wildcard WINMISC scp.res LIBS1 |
| 129 | psftp : [C] psftp console WINSSH be_none SFTP WINMISC scp.res LIBS1 |
| 130 | |
| 131 | pageant : [G] pageant sshrsa sshpubk sshdes sshbn sshmd5 version tree234 |
| 132 | + misc sshaes sshsha pageantc sshdss sshsh512 winutils |
| 133 | + pageant.res LIBS |
| 134 | |
| 135 | puttygen : [G] puttygen sshrsag sshdssg sshprime sshdes sshbn sshmd5 version |
| 136 | + sshrand noise sshsha winstore misc winctrls sshrsa sshdss |
| 137 | + sshpubk sshaes sshsh512 import winutils puttygen.res LIBS |
| 138 | |
| 139 | pterm : [X] pterm terminal wcwidth uxucs uxmisc tree234 misc ldisc ldiscucs |
| 140 | + logging uxprint settings pty be_none uxstore signal |
| 141 | |
| 142 | plink : [U] uxplink uxcons NONSSH UXSSH be_all logging UXMISC |