diff options
author | rmanfredi <rmanfredi@2592e710-e01b-42a5-8df0-11608a6cc53d> | 2010-11-28 23:05:09 +0000 |
---|---|---|
committer | rmanfredi <rmanfredi@2592e710-e01b-42a5-8df0-11608a6cc53d> | 2010-11-28 23:05:09 +0000 |
commit | 36a47742bb84eb86d0a1095bbbefd6e905f39d4f (patch) | |
tree | 21e21ebb1aee2bbf99a0a048e370fedfd7d92884 /jmake/files | |
parent | 17a95c14fc05fe53f250d627b55ea588321c7129 (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.rules | 24 | ||||
-rw-r--r-- | jmake/files/Jmake.tmpl | 9 |
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 |