chiark / gitweb /
Documentation for clean.sd.mk and cdeps.sd.mk
[subdirmk.git] / subdirmk / subdirmk.ac
index 7fd8c40d7fac95e4815aa8e966e2723c0e1f909e..bacd1cfa64dae69b4c5f9854b5fbea714bfa5795 100644 (file)
@@ -1,28 +1,36 @@
+dnl -*-autoconf-*-
+dnl subdirmk - autoconf macros
+dnl  Copyright 2019 Mark Wooding
+dnl  Copyright 2019 Ian Jackson
+dnl SPDX-License-Identifier: LGPL-2.0-or-later
+
+_SUBDIRMK_MAKEFILES=""
+AC_SUBST([_SUBDIRMK_MAKEFILES])
 
 AC_DEFUN([SUBDIRMK_SUBDIRS],
-[m4_map_args_w([$1],[_SUBDIRMK_SUBDIR(],[/)])])dnl
+[_SUBDIRMK_INIT
+m4_map_args_w([$1],[_SUBDIRMK_SUBDIR(],[/)])])dnl
 
 AC_DEFUN_ONCE([_SUBDIRMK_INIT],[
   AC_CONFIG_FILES([
        main.mk:main.mk.tmp
        Subdir.mk:Subdir.mk.tmp
-       subdirmk/regen.mk
        ],[],[
-    subdirsmk_need_prep=false
-    AS_IF([\$ac_need_defaults],[
-      subdirsmk_need_prep=true],[
-      AS_CASE([" \$ac_config_targets "],[*" main.mk "*],[
-       subdirsmk_need_prep=true
-      ])
-    ])
-    AS_IF([\$subdirsmk_need_prep],[
-     '$srcdir'/subdirmk/generate --srcdir='$srcdir' $subdirsmk_subdirs 
-    ])
+     '$srcdir'/subdirmk/generate --srcdir='$srcdir' $subdirmk_subdirs
   ])
+  SUBDIRMK_MAKEFILES([subdirmk/regen.mk subdirmk/usual.mk])
 ])
 
 AC_DEFUN([_SUBDIRMK_SUBDIR],[
-  AC_REQUIRE([_SUBDIRMK_INIT])
-  subdirsmk_subdirs="$subdirsmk_subdirs '$1'"
+  subdirmk_subdirs="$subdirmk_subdirs '$1'"
   AC_CONFIG_FILES([$1Subdir.mk:$1Subdir.mk.tmp])
 ])
+
+AC_DEFUN([SUBDIRMK_MAKEFILES],
+[_SUBDIRMK_INIT
+m4_map_args_w([$1],[_SUBDIRMK_MAKEFILE(],[)])])dnl
+
+AC_DEFUN([_SUBDIRMK_MAKEFILE],[
+  _SUBDIRMK_MAKEFILES="$_SUBDIRMK_MAKEFILES $1"
+  AC_CONFIG_FILES([$1:$1.in])
+])