chiark / gitweb /
subdirmk/*: Some simple whitespace cleanups
[subdirmk.git] / subdirmk / generate
index 8a2c9869526c3dd80b66814b2913dc387556c9ee..8a5daa6b0fc6269cfc6c2cba935b957a0c62e8e2 100755 (executable)
@@ -1,10 +1,14 @@
 #!/usr/bin/perl -w
 #
 #!/usr/bin/perl -w
 #
+# subdirmk - &-filter (makefile generation program)
+#  Copyright 2019 Ian Jackson
+# SPDX-License-Identifier: LGPL-2.0-or-later
+#
 # $(srcdir)/subdirmk/generate [--srcdir=SRCDIR] [--] SUBDIR...
 #
 # generates in each subdirectory       from in each subdirectory
 #     Subdir.mk.tmp                        Subdir.sd.mk
 # $(srcdir)/subdirmk/generate [--srcdir=SRCDIR] [--] SUBDIR...
 #
 # generates in each subdirectory       from in each subdirectory
 #     Subdir.mk.tmp                        Subdir.sd.mk
-#     Makefile
+#     Makefile                          and included files
 # and in toplevel                      and in toplevel
 #     main.mk.tmp                          Perdir.sd.mk
 
 # and in toplevel                      and in toplevel
 #     main.mk.tmp                          Perdir.sd.mk
 
@@ -95,12 +99,12 @@ sub write_makefile ($$) {
     my $cd = $depth ? join('/', ('..',) x $depth) : '.';
     o <<END;
 default: all
     my $cd = $depth ? join('/', ('..',) x $depth) : '.';
     o <<END;
 default: all
-       \@: \$@
 %:     FORCE-ALWAYS-RUN
 %:     FORCE-ALWAYS-RUN
-       \$(MAKE) -C $cd -f main.mk ${dir_prefix}\$@
+       \@:
 Makefile FORCE-ALWAYS-RUN:
 Makefile FORCE-ALWAYS-RUN:
-       \@: \$@
+       \$(MAKE) -C $cd -f main.mk \$(addprefix ${dir_prefix},\$(or \$(MAKECMDGOALS),all))
 .SUFFIXES:
 .SUFFIXES:
+.PHONY:        FORCE-ALWAYS-RUN
 END
 }
 
 END
 }
 
@@ -248,7 +252,7 @@ sub process_subtree ($$) {
        }
        print O "\n";
     }
        }
        print O "\n";
     }
-    
+
     return @targets;
 }
 
     return @targets;
 }