Recipe 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435
  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. # Top-level configuration.
  10. # Overall project name.
  11. !name putty
  12. # Locations and types of output Makefiles.
  13. !makefile clangcl windows/Makefile.clangcl
  14. !makefile vc windows/Makefile.vc
  15. !makefile vcproj windows/MSVC
  16. !makefile cygwin windows/Makefile.mgw
  17. !makefile lcc windows/Makefile.lcc
  18. !makefile gtk unix/Makefile.gtk
  19. !makefile unix unix/Makefile.ux
  20. !makefile am Makefile.am
  21. !makefile devcppproj windows/DEVCPP
  22. !makefile vstudio10 windows/VS2010
  23. !makefile vstudio12 windows/VS2012
  24. # Source directories.
  25. !srcdir charset/
  26. !srcdir windows/
  27. !srcdir unix/
  28. # Help text added to the top of each Makefile, with /D converted
  29. # into -D as appropriate for the particular Makefile.
  30. !begin help
  31. #
  32. # Extra options you can set:
  33. #
  34. # - COMPAT=/DAUTO_WINSOCK (Windows only)
  35. # Causes PuTTY to assume that <windows.h> includes its own WinSock
  36. # header file, so that it won't try to include <winsock.h>.
  37. #
  38. # - COMPAT=/DWINSOCK_TWO (Windows only)
  39. # Causes the PuTTY utilities to include <winsock2.h> instead of
  40. # <winsock.h>, except Plink which _needs_ WinSock 2 so it already
  41. # does this.
  42. #
  43. # - COMPAT=/DNO_SECURITY (Windows only)
  44. # Disables use of <aclapi.h>, which is not available with some
  45. # development environments (such as very old versions of the
  46. # mingw/Cygwin GNU toolchain). This has the following effects:
  47. # - Pageant won't care about the local user ID of processes
  48. # accessing it; a version of Pageant built with this option
  49. # will therefore refuse to run under NT-series OSes on
  50. # security grounds (although it will run fine on Win95-series
  51. # OSes where there is no access control anyway).
  52. # - SSH connection sharing is disabled.
  53. # - There is no support for restriction of the process ACLs.
  54. #
  55. # - COMPAT=/DNO_MULTIMON (Windows only)
  56. # Disables PuTTY's use of <multimon.h>, which is not available
  57. # with some development environments. This means that PuTTY's
  58. # full-screen mode (configurable to work on Alt-Enter) will
  59. # not behave usefully in a multi-monitor environment.
  60. #
  61. # - COMPAT=/DNO_HTMLHELP (Windows only)
  62. # Disables PuTTY's use of <htmlhelp.h>, which is not available
  63. # with some development environments.
  64. #
  65. # If you don't have this header, you may be able to use the copy
  66. # supplied with HTML Help Workshop.
  67. #
  68. # - RCFL=/DNO_MANIFESTS (Windows only)
  69. # Disables inclusion of XML application manifests in the PuTTY
  70. # binaries. This may be necessary to build for 64-bit Windows;
  71. # the manifests are only included to use the XP GUI style on
  72. # Windows XP, and the architecture tags are a lie on 64-bit.
  73. #
  74. # - COMPAT=/DNO_IPV6
  75. # Disables PuTTY's ability to make IPv6 connections, enabling
  76. # it to compile under development environments which do not
  77. # support IPv6 in their header files.
  78. #
  79. # - COMPAT=/DNO_GSSAPI
  80. # Disables PuTTY's ability to use GSSAPI functions for
  81. # authentication and key exchange.
  82. #
  83. # - COMPAT=/DSTATIC_GSSAPI
  84. # Causes PuTTY to try to link statically against the GSSAPI
  85. # library instead of the default of doing it at run time.
  86. #
  87. # - COMPAT=/DMSVC4 (Windows only)
  88. # - RCFL=/DMSVC4
  89. # Makes a couple of minor changes so that PuTTY compiles using
  90. # MSVC 4. You will also need /DNO_SECURITY and /DNO_MULTIMON.
  91. #
  92. # - COMPAT=/DNO_SECUREZEROMEMORY (Windows only)
  93. # Disables PuTTY's use of SecureZeroMemory(), which is missing
  94. # from some environments' header files.
  95. #
  96. # - XFLAGS=/DDEBUG
  97. # Causes PuTTY to enable internal debugging.
  98. #
  99. # - XFLAGS=/DMALLOC_LOG
  100. # Causes PuTTY to emit a file called putty_mem.log, logging every
  101. # memory allocation and free, so you can track memory leaks.
  102. #
  103. # - XFLAGS=/DMINEFIELD (Windows only)
  104. # Causes PuTTY to use a custom memory allocator, similar in
  105. # concept to Electric Fence, in place of regular malloc(). Wastes
  106. # huge amounts of RAM, but should cause heap-corruption bugs to
  107. # show up as GPFs at the point of failure rather than appearing
  108. # later on as second-level damage.
  109. #
  110. # - XFLAGS=/DFUZZING
  111. # Builds a version of PuTTY with some tweaks to make fuzz testing
  112. # easier: the SSH random number generator is replaced by one that
  113. # always returns the same thing. Note that this makes SSH
  114. # completely insecure -- a FUZZING build should never be used to
  115. # connect to a real server.
  116. !end
  117. # ------------------------------------------------------------
  118. # Additional text added verbatim to each individual Makefile.
  119. !cflags am version
  120. !begin am
  121. if AUTO_GIT_COMMIT
  122. BUILT_SOURCES = empty.h
  123. CLEANFILES = empty.h
  124. libversion_a_CFLAGS += -DSOURCE_COMMIT=\"`git --git-dir=$(srcdir)/.git rev-parse HEAD 2>/dev/null`\"
  125. empty.h: $(allsources)
  126. echo '/* Empty file touched by automake makefile to force rebuild of version.o */' >$@
  127. endif
  128. # Run the cryptsuite tests as part of 'make check'. Override
  129. # PUTTY_TESTCRYPT so that cryptsuite will take the testcrypt binary
  130. # from the build directory instead of the source directory, in case
  131. # this is an out-of-tree build.
  132. check-local: testcrypt
  133. PUTTY_TESTCRYPT=./testcrypt $(srcdir)/test/cryptsuite.py
  134. !end
  135. !begin >empty.h
  136. /* Empty file touched by automake makefile to force rebuild of version.o */
  137. !end
  138. !begin vc vars
  139. CFLAGS = $(CFLAGS) /DHAS_GSSAPI
  140. !end
  141. !begin clangcl vars
  142. CFLAGS += /DHAS_GSSAPI
  143. !end
  144. # `make install' target for Unix.
  145. !begin gtk
  146. install:
  147. mkdir -p $(DESTDIR)$(bindir) $(DESTDIR)$(man1dir)
  148. $(INSTALL_PROGRAM) -m 755 pageant $(DESTDIR)$(bindir)/pageant
  149. $(INSTALL_PROGRAM) -m 755 plink $(DESTDIR)$(bindir)/plink
  150. $(INSTALL_PROGRAM) -m 755 pscp $(DESTDIR)$(bindir)/pscp
  151. $(INSTALL_PROGRAM) -m 755 psftp $(DESTDIR)$(bindir)/psftp
  152. $(INSTALL_PROGRAM) -m 755 pterm $(DESTDIR)$(bindir)/pterm
  153. if test -n "$(UTMP_GROUP)"; then \
  154. chgrp $(UTMP_GROUP) $(DESTDIR)$(bindir)/pterm && \
  155. chmod 2755 $(DESTDIR)$(bindir)/pterm; \
  156. elif test -n "$(UTMP_USER)"; then \
  157. chown $(UTMP_USER) $(DESTDIR)$(bindir)/pterm && \
  158. chmod 4755 $(DESTDIR)$(bindir)/pterm; \
  159. fi
  160. $(INSTALL_PROGRAM) -m 755 putty $(DESTDIR)$(bindir)/putty
  161. $(INSTALL_PROGRAM) -m 755 puttygen $(DESTDIR)$(bindir)/puttygen
  162. $(INSTALL_PROGRAM) -m 755 puttytel $(DESTDIR)$(bindir)/puttytel
  163. $(INSTALL_DATA) -m 644 ../doc/pageant.1 $(DESTDIR)$(man1dir)/pageant.1
  164. $(INSTALL_DATA) -m 644 ../doc/plink.1 $(DESTDIR)$(man1dir)/plink.1
  165. $(INSTALL_DATA) -m 644 ../doc/pscp.1 $(DESTDIR)$(man1dir)/pscp.1
  166. $(INSTALL_DATA) -m 644 ../doc/psftp.1 $(DESTDIR)$(man1dir)/psftp.1
  167. $(INSTALL_DATA) -m 644 ../doc/pterm.1 $(DESTDIR)$(man1dir)/pterm.1
  168. $(INSTALL_DATA) -m 644 ../doc/putty.1 $(DESTDIR)$(man1dir)/putty.1
  169. $(INSTALL_DATA) -m 644 ../doc/puttygen.1 $(DESTDIR)$(man1dir)/puttygen.1
  170. $(INSTALL_DATA) -m 644 ../doc/puttytel.1 $(DESTDIR)$(man1dir)/puttytel.1
  171. install-strip:
  172. $(MAKE) install INSTALL_PROGRAM="$(INSTALL_PROGRAM) -s"
  173. !end
  174. # List the man pages for the automake makefile.
  175. !begin am
  176. if HAVE_GTK
  177. man1_MANS = doc/plink.1 doc/pscp.1 doc/psftp.1 doc/puttygen.1 doc/psusan.1 \
  178. doc/pageant.1 doc/pterm.1 doc/putty.1 doc/puttytel.1
  179. else
  180. man1_MANS = doc/plink.1 doc/pscp.1 doc/psftp.1 doc/puttygen.1 doc/psusan.1
  181. endif
  182. !end
  183. # In automake, chgrp/chmod pterm after installation, if configured to.
  184. !begin am
  185. if HAVE_SETID_CMD
  186. install-exec-local:
  187. @SETID_CMD@ $(bindir)/pterm
  188. chmod @SETID_MODE@ $(bindir)/pterm
  189. endif
  190. !end
  191. # In automake makefile, build the OS X app bundle, if configured in
  192. # Quartz mode.
  193. !begin am
  194. if HAVE_QUARTZ
  195. noinst_SCRIPTS = unix/PuTTY.app unix/Pterm.app
  196. unix/PuTTY.app: unix/putty.bundle puttyapp osxlaunch
  197. rm -rf $@ && PUTTY_GTK_PREFIX_FROM_MAKEFILE=$$(pkg-config --variable=prefix gtk+-3.0) gtk-mac-bundler $<
  198. unix/Pterm.app: unix/pterm.bundle ptermapp osxlaunch
  199. rm -rf $@ && PUTTY_GTK_PREFIX_FROM_MAKEFILE=$$(pkg-config --variable=prefix gtk+-3.0) gtk-mac-bundler $<
  200. endif
  201. !end
  202. # Random symbols.
  203. !begin cygwin vars
  204. # _WIN32_IE is required to expose identifiers that only make sense on
  205. # systems with IE5+ installed, such as some arguments to SHGetFolderPath().
  206. # WINVER etc perform a similar function for FlashWindowEx().
  207. CFLAGS += -D_WIN32_IE=0x0500
  208. CFLAGS += -DWINVER=0x0500 -D_WIN32_WINDOWS=0x0410 -D_WIN32_WINNT=0x0500
  209. !end
  210. # ------------------------------------------------------------
  211. # Definitions of object groups. A group name, followed by an =,
  212. # followed by any number of objects or other already-defined group
  213. # names. A line beginning `+' is assumed to continue the previous
  214. # line.
  215. # conf.c and its dependencies.
  216. CONF = conf marshal
  217. # Terminal emulator and its (platform-independent) dependencies.
  218. TERMINAL = terminal stripctrl wcwidth logging tree234 minibidi
  219. + config dialog CONF
  220. # GUI front end and terminal emulator (putty, puttytel).
  221. GUITERM = TERMINAL window windlg winctrls sizetip winprint winutils
  222. + wincfg winhelp winjump sessprep winselgui
  223. # Same thing on Unix.
  224. UXTERM = TERMINAL uxcfg uxucs uxprint timing callback miscucs
  225. GTKTERM = UXTERM gtkwin gtkcfg gtkdlg gtkfont gtkcols gtkmisc xkeysym
  226. + x11misc gtkcomm sessprep
  227. GTKMAIN = gtkmain cmdline
  228. # Non-SSH back ends (putty, puttytel, plink).
  229. NONSSH = telnet raw rlogin supdup ldisc pinger
  230. # SSH back end (putty, plink, pscp, psftp).
  231. ARITH = mpint ecc
  232. SSHCRYPTO = ARITH sshmd5 sshsha sshsh256 sshsh512 sshsha3 sshblake2 sshargon2
  233. + sshrsa sshdss sshecc
  234. + sshdes sshblowf sshaes sshccp ssharcf
  235. + sshdh sshcrc sshcrcda sshauxcrypt
  236. + sshhmac
  237. SSHCOMMON = sshcommon sshutils sshprng sshrand SSHCRYPTO
  238. + sshverstring
  239. + sshpubk sshzlib
  240. + sshmac marshal nullplug
  241. + sshgssc pgssapi wildcard ssh1censor ssh2censor ssh2bpp
  242. + ssh2transport ssh2transhk ssh2connection portfwd x11fwd
  243. + ssh1connection ssh1bpp ssh2bpp-bare
  244. SSH = SSHCOMMON ssh
  245. + ssh1login ssh2userauth
  246. + pinger
  247. + sshshare aqsync agentf
  248. + mainchan ssh2kex-client ssh2connection-client ssh1connection-client
  249. WINSSH = SSH winnoise wincapi winpgntc wingss winshare winnps winnpc
  250. + winhsock errsock
  251. UXSSH = SSH uxnoise uxagentc uxgss uxshare
  252. # SFTP implementation (pscp, psftp).
  253. SFTP = psftpcommon sftp sftpcommon logging cmdline
  254. # Components of the prime-generation system.
  255. SSHPRIME = sshprime smallprimes primecandidate millerrabin pockle mpunsafe
  256. # Miscellaneous objects appearing in all the utilities, or all the
  257. # network ones, or the Unix or Windows subsets of those in turn.
  258. MISC = misc utils marshal memory stripctrl wcwidth
  259. MISCNETCOMMON = timing callback MISC version tree234 CONF
  260. MISCNET = MISCNETCOMMON be_misc settings proxy
  261. WINMISC = MISCNET winstore winnet winhandl cmdline windefs winmisc winproxy
  262. + wintime winhsock errsock winsecur winucs miscucs winmiscs
  263. UXMISCCOMMON = MISCNETCOMMON uxstore uxsel uxpoll uxnet uxpeer uxmisc time
  264. + uxfdsock errsock
  265. UXMISC = MISCNET UXMISCCOMMON uxproxy uxutils
  266. # SSH server.
  267. SSHSERVER = SSHCOMMON sshserver settings be_none logging ssh2kex-server
  268. + ssh2userauth-server sshrsag SSHPRIME ssh2connection-server
  269. + sesschan sftpcommon sftpserver proxy cproxy ssh1login-server
  270. + ssh1connection-server scpserver
  271. # import.c and dependencies, for PuTTYgen-like utilities that have to
  272. # load foreign key files.
  273. IMPORT = import sshbcrypt sshblowf marshal
  274. # Character set library, for use in pterm.
  275. CHARSET = sbcsdat slookup sbcs utf8 toucs fromucs xenc mimeenc macenc localenc
  276. # Standard libraries.
  277. LIBS = advapi32.lib user32.lib gdi32.lib comdlg32.lib
  278. + shell32.lib imm32.lib ole32.lib
  279. # Network backend sets. This also brings in the relevant attachment
  280. # to proxy.c depending on whether we're crypto-avoidant or not.
  281. BE_ALL = be_all cproxy
  282. BE_NOSSH = be_nossh norand nocproxy
  283. BE_SSH = be_ssh cproxy
  284. BE_NONE = be_none nocproxy
  285. # More backend sets, with the additional Windows serial-port module.
  286. W_BE_ALL = be_all_s winser cproxy
  287. W_BE_NOSSH = be_nos_s norand winser nocproxy
  288. # And with the Unix serial-port module.
  289. U_BE_ALL = be_all_s uxser cproxy
  290. U_BE_NOSSH = be_nos_s norand uxser nocproxy
  291. # Auxiliary crypto modules used by key generators.
  292. KEYGEN = sshrsag sshdssg sshecdsag
  293. # ------------------------------------------------------------
  294. # Definitions of actual programs. The program name, followed by a
  295. # colon, followed by a list of objects. Also in the list may be the
  296. # keywords [G] for Windows GUI app, [C] for Console app, [X] for
  297. # X/GTK Unix app, [U] for command-line Unix app.
  298. putty : [G] GUITERM NONSSH WINSSH W_BE_ALL WINMISC winx11 putty.res LIBS
  299. + screenshot testback
  300. puttytel : [G] GUITERM NONSSH W_BE_NOSSH WINMISC puttytel.res nogss LIBS
  301. + screenshot testback
  302. plink : [C] winplink wincons console NONSSH WINSSH W_BE_ALL logging WINMISC
  303. + winx11 plink.res winnojmp sessprep noterm winnohlp winselcli
  304. + clicons wincliloop console LIBS
  305. pscp : [C] pscp winsftp wincons WINSSH BE_SSH SFTP wildcard WINMISC
  306. + pscp.res winnojmp winnohlp winselcli clicons wincliloop
  307. + console LIBS
  308. psftp : [C] psftp winsftp wincons WINSSH BE_SSH SFTP wildcard WINMISC
  309. + psftp.res winnojmp winnohlp winselcli clicons wincliloop
  310. + console LIBS
  311. pageant : [G] winpgnt pageant sshrsa sshpubk sshdes ARITH sshmd5 version
  312. + tree234 MISC sshaes sshsha winsecur winpgntc aqsync sshdss sshsh256
  313. + sshsh512 winutils sshecc winmisc winmiscs winhelp conf pageant.res
  314. + sshauxcrypt sshhmac wincapi winnps winnpc winhsock errsock winnet
  315. + winhandl callback be_misc winselgui winhandl sshsha3 sshblake2
  316. + sshargon2 LIBS
  317. puttygen : [G] winpgen KEYGEN SSHPRIME sshdes ARITH sshmd5 version
  318. + sshrand winnoise sshsha winstore MISC winctrls sshrsa sshdss winmisc
  319. + sshpubk sshaes sshsh256 sshsh512 IMPORT winutils puttygen.res
  320. + tree234 notiming winhelp winnojmp CONF LIBS wintime sshecc sshprng
  321. + sshauxcrypt sshhmac winsecur winmiscs sshsha3 sshblake2 sshargon2
  322. + screenshot
  323. pterm : [X] GTKTERM uxmisc misc ldisc settings uxpty uxsel BE_NONE uxstore
  324. + uxsignal CHARSET cmdline uxpterm version time xpmpterm xpmptcfg
  325. + nogss utils memory GTKMAIN
  326. putty : [X] GTKTERM uxmisc misc ldisc settings uxsel U_BE_ALL uxstore
  327. + uxsignal CHARSET uxputty NONSSH UXSSH UXMISC ux_x11 xpmputty
  328. + xpmpucfg utils memory GTKMAIN
  329. puttytel : [X] GTKTERM uxmisc misc ldisc settings uxsel U_BE_NOSSH
  330. + uxstore uxsignal CHARSET uxputty NONSSH UXMISC xpmputty xpmpucfg
  331. + nogss utils memory GTKMAIN
  332. plink : [U] uxplink uxcons NONSSH UXSSH U_BE_ALL logging UXMISC uxsignal
  333. + ux_x11 noterm uxnogtk sessprep cmdline clicons uxcliloop console
  334. PUTTYGEN_UNIX = KEYGEN SSHPRIME sshdes ARITH sshmd5 version sshprng
  335. + sshrand uxnoise sshsha MISC sshrsa sshdss uxcons uxstore uxmisc
  336. + sshpubk sshaes sshsh256 sshsh512 IMPORT puttygen.res time tree234
  337. + uxgen notiming CONF sshecc sshsha3 uxnogtk sshauxcrypt sshhmac
  338. + uxpoll uxutils sshblake2 sshargon2 console
  339. puttygen : [U] cmdgen PUTTYGEN_UNIX
  340. cgtest : [UT] cgtest PUTTYGEN_UNIX
  341. pscp : [U] pscp uxsftp uxcons UXSSH BE_SSH SFTP wildcard UXMISC uxnogtk
  342. + clicons uxcliloop console
  343. psftp : [U] psftp uxsftp uxcons UXSSH BE_SSH SFTP wildcard UXMISC uxnogtk
  344. + clicons uxcliloop console
  345. pageant : [X] uxpgnt uxagentc aqsync pageant sshrsa sshpubk sshdes ARITH
  346. + sshmd5 version tree234 misc sshaes sshsha sshdss sshsh256 sshsh512
  347. + sshecc CONF uxsignal nocproxy nogss be_none x11fwd ux_x11 uxcons
  348. + gtkask gtkmisc nullplug logging UXMISC uxagentsock utils memory
  349. + sshauxcrypt sshhmac sshprng uxnoise uxcliloop sshsha3 sshblake2
  350. + sshargon2 console
  351. ptermapp : [XT] GTKTERM uxmisc misc ldisc settings uxpty uxsel BE_NONE uxstore
  352. + uxsignal CHARSET uxpterm version time xpmpterm xpmptcfg
  353. + nogss gtkapp nocmdline utils memory
  354. puttyapp : [XT] GTKTERM uxmisc misc ldisc settings uxsel U_BE_ALL uxstore
  355. + uxsignal CHARSET uxputty NONSSH UXSSH UXMISC ux_x11 xpmputty
  356. + xpmpucfg gtkapp nocmdline utils memory
  357. osxlaunch : [UT] osxlaunch
  358. fuzzterm : [UT] UXTERM CHARSET MISC version uxmisc uxucs fuzzterm time settings
  359. + uxstore be_none uxnogtk memory
  360. testcrypt : [UT] testcrypt SSHCRYPTO sshprng SSHPRIME sshpubk marshal utils
  361. + memory tree234 uxutils KEYGEN
  362. testcrypt : [C] testcrypt SSHCRYPTO sshprng SSHPRIME sshpubk marshal utils
  363. + memory tree234 winmiscs KEYGEN
  364. testsc : [UT] testsc SSHCRYPTO marshal utils memory tree234 wildcard
  365. + sshmac uxutils sshpubk
  366. testzlib : [UT] testzlib sshzlib utils marshal memory
  367. uppity : [UT] uxserver SSHSERVER UXMISC uxsignal uxnoise uxgss uxnogtk
  368. + uxpty uxsftpserver ux_x11 uxagentsock procnet uxcliloop
  369. psusan : [U] uxpsusan SSHSERVER UXMISC uxsignal uxnoise nogss uxnogtk
  370. + uxpty uxsftpserver ux_x11 uxagentsock procnet uxcliloop
  371. PSOCKS = psocks portfwd conf sshutils logging proxy nocproxy timing callback
  372. + time tree234 version errsock be_misc norand MISC
  373. psocks : [C] PSOCKS winsocks wincons winproxy winnet winmisc winselcli
  374. + winhsock winhandl winmiscs winnohlp wincliloop console LIBS
  375. psocks : [UT] PSOCKS uxsocks uxcons uxproxy uxnet uxmisc uxpoll uxsel uxnogtk
  376. + uxpeer uxfdsock uxcliloop uxsignal console
  377. # ----------------------------------------------------------------------
  378. # On Windows, provide a means of removing local test binaries that we
  379. # aren't going to actually ship. (I prefer this to not building them
  380. # in the first place, so that we find out about build breakage early.)
  381. !begin vc
  382. cleantestprogs:
  383. -del $(BUILDDIR)testcrypt.exe $(BUILDDIR)psocks.exe
  384. !end
  385. !begin clangcl
  386. cleantestprogs:
  387. -rm -f $(BUILDDIR)testcrypt.exe $(BUILDDIR)psocks.exe
  388. !end