mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-07-02 12:02:47 -05:00
Switch to using automake for the Unix autoconfigured build.
mkfiles.pl no longer generates a Makefile.in, but instead generates a Makefile.am on which mkauto.sh runs automake. This means that the autoconfigured makefile now does build-time dependency tracking (a standard feature of automake-generated makefiles), and is generally more like what Unix people will expect. Some of the old-style make command-line settings (VER=-DRELEASE=foo, XFLAGS=-DDEBUG) will still work; the COMPAT settings are better done by autoconfiguration, and my habitual 'XFLAGS="-g -O0"' for an easily debuggable build will actually not work any more because CFLAGS is specified _after_ XFLAGS, so I should instead write 'make CFLAGS=-O0' (-g is the default in automake, removed at 'make install' time). The new makefile will automatically degrade into one that builds the command-line tools only, in the case where GTK could not be found. In principle, therefore, it should be an adequate replacement for _both_ the static Unix makefiles, Makefile.gtk and Makefile.ux. I haven't actually retired those in this commit, but I'm pretty tempted. [originally from svn r9239]
This commit is contained in:
30
Recipe
30
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.
|
||||
@ -169,6 +169,19 @@ 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
|
||||
CLEANFILES = empty.h
|
||||
empty.h: $(allsources)
|
||||
echo '/* nothing to see here */' >$@
|
||||
|
||||
!end
|
||||
|
||||
# Add VER to Windows resource targets, and force them to be rebuilt every
|
||||
# time, on the assumption that they will contain version information.
|
||||
@ -228,6 +241,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
|
||||
|
Reference in New Issue
Block a user