X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/4a693cfc5c3ee0e639bbee0215345e921715ab04..47061bb488400d53fd20deb52d51763d2caa056e:/Recipe diff --git a/Recipe b/Recipe index 698d42d9..3b65c83b 100644 --- a/Recipe +++ b/Recipe @@ -19,7 +19,7 @@ !makefile lcc windows/Makefile.lcc !makefile gtk unix/Makefile.gtk !makefile unix unix/Makefile.ux -!makefile ac unix/Makefile.in +!makefile am unix/Makefile.am !makefile osx macosx/Makefile !makefile devcppproj windows/DEVCPP # Source directories. @@ -113,6 +113,11 @@ # Cygnus/mingw32, whose resource compiler may have less of a # problem with it. # +# - COMPAT=/DNO_SECUREZEROMEMORY (Windows only) +# Disables PuTTY's use of SecureZeroMemory(), which is missing +# from some environments' header files. This is enabled by +# default in the Cygwin Makefile. +# # - XFLAGS=/DTELNET_DEFAULT # Causes PuTTY to default to the Telnet protocol (in the absence # of Default Settings and so on to the contrary). Normally PuTTY @@ -169,6 +174,21 @@ version.o: FORCE fi !end !specialobj gtk version +# In the automake build, we have to do the whole job by supplying +# extra CFLAGS, so we have to put the if statement inside one big +# backtick expression. We also force rebuilding via a -D option that +# makes version.o include empty.h, which we construct ourselves and +# touch whenever any source file is updated. +!cflags am version $(VER) -DINCLUDE_EMPTY_H `if test -z "$(VER)" && (cd $(srcdir)/..; md5sum -c manifest >/dev/null 2>&1); then cat $(srcdir)/../version.def; else echo "$(VER)"; fi` +!begin am +BUILT_SOURCES = empty.h +empty.h: $(allsources) + echo '/* Empty file touched by automake makefile to force rebuild of version.o */' >$@ + +!end +!begin >empty.h +/* Empty file touched by automake makefile to force rebuild of version.o */ +!end # Add VER to Windows resource targets, and force them to be rebuilt every # time, on the assumption that they will contain version information. @@ -177,6 +197,7 @@ CFLAGS = $(CFLAGS) /DHAS_GSSAPI /DSECURITY_WIN32 RCFLAGS = $(RCFLAGS) $(VER) !end !begin cygwin vars +CFLAGS += -DSECURITY_WIN32 # XXX GNU-ism, but it's probably all right for a Cygwin/MinGW Makefile. RCFLAGS += $(patsubst -D%,--define %,$(VER)) !end @@ -228,6 +249,21 @@ install-strip: CFLAGS += -DMACOSX !end +# List the man pages for the automake makefile. +!begin am +man1_MANS = ../doc/plink.1 ../doc/pscp.1 ../doc/psftp.1 ../doc/pterm.1 \ + ../doc/putty.1 ../doc/puttygen.1 ../doc/puttytel.1 +!end + +# In automake, chgrp/chmod pterm after installation, if configured to. +!begin am +if HAVE_SETID_CMD +install-exec-local: + @SETID_CMD@ $(bindir)/pterm + chmod @SETID_MODE@ $(bindir)/pterm +endif +!end + # Random symbols. !begin cygwin vars # _WIN32_IE is required to expose identifiers that only make sense on @@ -289,7 +325,7 @@ LIBS = advapi32.lib user32.lib gdi32.lib comctl32.lib comdlg32.lib # to proxy.c depending on whether we're crypto-avoidant or not. BE_ALL = be_all cproxy BE_NOSSH = be_nossh nocproxy -BE_SSH = be_none cproxy +BE_SSH = be_ssh cproxy BE_NONE = be_none nocproxy # More backend sets, with the additional Windows serial-port module. W_BE_ALL = be_all_s winser cproxy