From c0458cfc4d0ebd1aa09064152749cba21aa436e1 Mon Sep 17 00:00:00 2001 From: simon Date: Wed, 14 Sep 2011 15:54:26 +0000 Subject: [PATCH] Create empty.h (used to force rebuilds of version.o by the automake makefile) as a side effect of running mkfiles.pl. The automake docs observe that the BUILT_SOURCES list is only automatically built by plain 'make' or 'make all' or a couple of other targets, so the sequence './configure && make plink' from a freshly unpacked tar file would previously fail for lack of empty.h. If empty.h had important _content_ that needed to be built at compile time, of course, I wouldn't be able to fix it like this; but since the only important thing is the timestamp, I can just make sure it already exists at the time of first build. git-svn-id: svn://svn.tartarus.org/sgt/putty@9288 cda61777-01e9-0310-a592-d414129be87e --- Recipe | 5 ++++- mkfiles.pl | 10 +++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Recipe b/Recipe index 77f3be00..677d42e1 100644 --- a/Recipe +++ b/Recipe @@ -179,9 +179,12 @@ version.o: FORCE BUILT_SOURCES = empty.h CLEANFILES = empty.h empty.h: $(allsources) - echo '/* nothing to see here */' >$@ + 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. diff --git a/mkfiles.pl b/mkfiles.pl index 830de491..b38a218b 100755 --- a/mkfiles.pl +++ b/mkfiles.pl @@ -88,7 +88,9 @@ while () { } if ($_[0] eq "!forceobj") { $forceobj{$_[1]} = 1; next; } if ($_[0] eq "!begin") { - if (&mfval($_[1])) { + if ($_[1] =~ /^>(.*)/) { + $divert = \$auxfiles{$1}; + } elsif (&mfval($_[1])) { $sect = $_[2] ? $_[2] : "end"; $divert = \($makefile_extra{$_[1]}->{$sect}); } else { @@ -145,6 +147,12 @@ while () { close IN; +foreach $aux (sort keys %auxfiles) { + open AUX, ">$aux"; + print AUX $auxfiles{$aux}; + close AUX; +} + # Now retrieve the complete list of objects and resource files, and # construct dependency data for them. While we're here, expand the # object list for each program, and complain if its type isn't set. -- 2.11.0