summaryrefslogtreecommitdiff
path: root/jmake/files
diff options
context:
space:
mode:
authorrmanfredi <rmanfredi@2592e710-e01b-42a5-8df0-11608a6cc53d>2010-11-28 23:05:09 +0000
committerrmanfredi <rmanfredi@2592e710-e01b-42a5-8df0-11608a6cc53d>2010-11-28 23:05:09 +0000
commit36a47742bb84eb86d0a1095bbbefd6e905f39d4f (patch)
tree21e21ebb1aee2bbf99a0a048e370fedfd7d92884 /jmake/files
parent17a95c14fc05fe53f250d627b55ea588321c7129 (diff)
Added the notion of local_depend and sub_depend.
This allows one to do a "make local_depend" after Makefile.SH extraction without having to recurse to subdirs. git-svn-id: svn://svn.code.sf.net/p/dist/code/trunk/dist@48 2592e710-e01b-42a5-8df0-11608a6cc53d
Diffstat (limited to 'jmake/files')
-rw-r--r--jmake/files/Jmake.rules24
-rw-r--r--jmake/files/Jmake.tmpl9
2 files changed, 28 insertions, 5 deletions
diff --git a/jmake/files/Jmake.rules b/jmake/files/Jmake.rules
index 21ef3fe..43bc10a 100644
--- a/jmake/files/Jmake.rules
+++ b/jmake/files/Jmake.rules
@@ -554,7 +554,7 @@ DeinstallMultipleDest(local_deinstall.man,list,dest)
* Generate rules to build the makedepend program.
*/
#define DependDependency() @!\
-depend:: TOPDIR/mkdep @!\
+local_depend:: TOPDIR/mkdep @!\
@!\
TOPDIR/mkdep: @!\
?TOP: @echo "You have to run Configure first."; exit 1 @!\
@@ -571,7 +571,8 @@ TOPDIR/mkdep: @!\
|once _DependTarget_ @!\
DependDependency() @!\
@!\
-depend:: @@\
+depend:: local_depend @!\
+local_depend:: @@\
($(SED) '/^# DO NOT DELETE/q' Makefile && \ @@\
$(MKDEP) $(SOURCES) | \ @@\
$(SED) -e 's:/usr/lib[^ ]*::g; s:$(USRINC)[^ ]*::g; ' \ @@\
@@ -1168,6 +1169,22 @@ name:: @@\
/*
+ * NamedTargetSubdirsAsRule:
+ * Recursively make a series of steps in the specified directories,
+ * where the name of the local rule is different from the recursive
+ * actions.
+ */
+#define NamedTargetSubdirsAsRule(dirs,localname,name,verb,flags) @!\
+localname:: @@\
+ @case '${MFLAGS}' in *[ik]*) set +e;; esac; \ @@\
+ for i in dirs ;\ @@\
+ do \ @@\
+ (cd $$i ; echo verb "in $(DIR)$$i..."; \ @@\
+ $(MAKE) $(MFLAGS) flags name) || exit 1; \ @@\
+ done
+
+
+/*
* NamedTargetSubdirs:
* Recursively make a series of steps.
*/
@@ -1211,7 +1228,8 @@ NamedTargetSubdirs(all,"Making all",^^)
* make depend step.
*/
#define DependDirs(dirs) \
-NamedTargetSubdirsRule(dirs,depend,"Depending",^^)
+depend:: sub_depend @!\
+NamedTargetSubdirsAsRule(dirs,sub_depend,depend,"Depending",^^)
/*
diff --git a/jmake/files/Jmake.tmpl b/jmake/files/Jmake.tmpl
index f684048..71c14a8 100644
--- a/jmake/files/Jmake.tmpl
+++ b/jmake/files/Jmake.tmpl
@@ -193,6 +193,11 @@ maybe_deinstall.man: deinstall.man-no
MakefileTarget()
TagsTarget()
+/*
+ * Empty rules in case there is no depend target.
+ */
+depend::
+
%SUBDIRS:|skip /* Skip if no sub-directories */
;########################################################################
;# Rules for building in sub-directories -- do not edit
@@ -240,8 +245,8 @@ Makefiles::
Makefiles.SH::
--skip /* No sub-directories */
-%depend%:|skip /* Skip if no depend target */
+-skip /* No sub-directories */
+%local_depend%:|skip /* Skip if no local depend target */
;########################################################################
;# Dependencies generated by make depend
;# DO NOT DELETE THIS LINE -- make depend relies on it