chiark / gitweb /
Fix the Automake makefile for automake 1.14.
authorSimon Tatham <anakin@pobox.com>
Sat, 22 Feb 2014 18:19:05 +0000 (18:19 +0000)
committerSimon Tatham <anakin@pobox.com>
Sat, 22 Feb 2014 18:19:05 +0000 (18:19 +0000)
This is a combination of PuTTY r10142 and the relevant pieces of
r10141: we now enable the 'subdir-objects' mode in Makefile.am, and
stop using $(subdir) in source file paths.

(As a consequence of the latter the automake machinery now cannot live
anywhere but at the top level of the source tree, but since that's
where it was already, this is less of an upheaval here than it was for
PuTTY!)

[originally from svn r10146]
[r10141 == a947c49bec36957cb5d38e1dc2e22dc0e3465849 in putty repository]
[r10142 == 0da225829234744b1141aea3a7c54ad7d74679a7 in putty repository]

mkfiles.pl

index b1583ae7e7fd9dfba836fd7e4328630ea45f8a7d..c1623dfd12e82245e91c12d02d0399bf9041e004 100755 (executable)
@@ -1189,7 +1189,8 @@ if (defined $makefiles{'gtk'}) {
 
 if (defined $makefiles{'am'}) {
     $mftyp = 'am';
-    $dirpfx = "\$(srcdir)/" . &dirpfx($makefiles{'am'}, "/");
+    die "Makefile.am in a subdirectory is not supported\n"
+        if &dirpfx($makefiles{'am'}, "/") ne "";
 
     ##-- Unix/autoconf Makefile.am
     open OUT, ">$makefiles{'am'}"; select OUT;
@@ -1216,7 +1217,7 @@ if (defined $makefiles{'am'}) {
     %amspeciallibs = ();
     %amlibobjname = ();
     %allsources = ();
-    foreach $d (&deps("X", undef, $dirpfx, "/", "am")) {
+    foreach $d (&deps("X", undef, "", "/", "am")) {
         my $obj = $d->{obj};
         my $use_archive = 0;
         
@@ -1242,6 +1243,10 @@ if (defined $makefiles{'am'}) {
         map { $allsources{$_} = 1 } @{$d->{deps}};
     }
 
+    # 2014-02-22: as of automake-1.14 we begin to get complained at if
+    # we don't use this option
+    print "AUTOMAKE_OPTIONS = subdir-objects\n\n";
+
     # Complete list of source and header files. Not used by the
     # auto-generated parts of this makefile, but Recipe might like to
     # have it available as a variable so that mandatory-rebuild things
@@ -1249,7 +1254,7 @@ if (defined $makefiles{'am'}) {
     print &splitline(join " ", "allsources", "=",
                      sort {$a cmp $b} keys %allsources), "\n\n";
 
-    @amcppflags = map {"-I$dirpfx$_"} @srcdirs;
+    @amcppflags = map {"-I\$(srcdir)/$_"} @srcdirs;
     print &splitline(join " ", "AM_CPPFLAGS", "=", @amcppflags, "\n");
 
     @amcflags = ("\$(GTK_CFLAGS)", "\$(WARNINGOPTS)");