chiark / gitweb /
subdirmk/generate: Make `FORCE-ALWAYS-RUN' be `.PHONY'
[subdirmk.git] / subdirmk / generate
index 8a2c9869526c3dd80b66814b2913dc387556c9ee..7fc3809e4d6895650addb7e8e5f0e1424031fc83 100755 (executable)
@@ -1,10 +1,14 @@
 #!/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
-#     Makefile
+#     Makefile                          and included files
 # 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
-       \@: \$@
 %:     FORCE-ALWAYS-RUN
-       \$(MAKE) -C $cd -f main.mk ${dir_prefix}\$@
+       \@:
 Makefile FORCE-ALWAYS-RUN:
-       \@: \$@
+       \$(MAKE) -C $cd -f main.mk \$(addprefix ${dir_prefix},\$(or \$(MAKECMDGOALS),all))
 .SUFFIXES:
+.PHONY:        FORCE-ALWAYS-RUN
 END
 }