chiark / gitweb /
fix out of tree builds
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 13 Nov 2019 01:24:52 +0000 (01:24 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 13 Nov 2019 01:24:52 +0000 (01:24 +0000)
Perdir.mk.in
Subdir.mk.in
lib/t/Subdir.mk.in
subdirmk/autogen.sh
subdirmk/generate
subdirmk/regen.mk.in

index e71764e..f819348 100644 (file)
@@ -1,6 +1,7 @@
 
 &CLEAN += & *~ *.tmp
 &CLEAN += $(&OBJECTS) $(&DEPFILES)
+&CLEAN += $(&TARGETS)
 
 # &TARGETS_clean
 
index 79249db..cd8fa53 100644 (file)
@@ -23,4 +23,4 @@ COMPILE               ?= $(CC) -c -o$@ -MD $(DEFS) $(INCLUDES) $(CFLAGS)
 %.o: %.c
        $(COMPILE) $<
 
-include &^/subdirmk/regen.mk
+include subdirmk/regen.mk
index a5efee5..a957397 100644 (file)
@@ -28,7 +28,7 @@
 &OBJECTS       += & toytest.o
 &LIBS          += lib/libtoy.a
 
-&CLEAN         += & toytest
+&CLEAN         += & toytest toytest.stamp
 
 &toytest:      $(&OBJECTS) $(&LIBS)
        $(LINK) $^
index 5658c0a..f1b4df5 100755 (executable)
@@ -1,3 +1,4 @@
 #!/bin/sh
 set -e
+cd ${0%/*}
 autoconf
index ae5db30..a10e055 100755 (executable)
@@ -13,6 +13,7 @@
 #   Perdir.mk.in
 
 use strict;
+use POSIX;
 
 print "$0 @ARGV\n" or die $!;
 
@@ -108,13 +109,13 @@ sub filter_subdir_mk ($$$$$) {
     #use Data::Dumper;
     #print STDERR "filter @_\n";
 
-    my $in = "${dir_prefix}Subdir.mk.in";
+    my $in = "${srcdir}/${dir_prefix}Subdir.mk.in";
     my $caps_re = qr{[A-Z][0-9_A-Z]*(?=\W)};
     my $lc_re = qr{[a-z][-+,0-9_a-z]*(?=\W)};
     my $esclit = '&';
     my $esc = '\\&';
 
-    for my $f ($in, "Perdir.mk.in") {
+    for my $f ($in, "${srcdir}/Perdir.mk.in") {
       open I, '<', $f or die "open $f: $!\n";
       while (<I>) {
        for (;;) {
@@ -183,6 +184,7 @@ sub process_subtree ($$) {
     foreach my $child (@{ $node->[1] }) {
        my @childpath = (@$path, $child->[0]);
        my $child_subdir = join '/', @childpath;
+       mkdir $child_subdir or $!==EEXIST or die "mkdir $child_subdir: $!";
        push @{ $targets{$_} }, $child_subdir foreach
            process_subtree($child, \@childpath);
     }
index f7a7219..f9d7240 100644 (file)
@@ -23,8 +23,9 @@ makefiles.phantom:                                            \
                $(foreach m,$(MAKEFILES),$(top_srcdir)/$(m).in)
        ./$(CONFIG_STATUS)
 
-realclean: clean
+realclean:: clean
        $(RM) config.status config.log
-       $(RM) main.mk $(MAKEFILES)
+       $(RM) main.mk subdirmk/regen.mk $(MAKEFILES)
+       $(RM) $(addsuffix Makefile,$(dir $(MAKEFILES)))
 
 -include $(ALL_DEPFILES)