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 | |
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')
-rw-r--r-- | jmake/Jmakefile | 3 | ||||
-rwxr-xr-x | jmake/Makefile.SH | 7 | ||||
-rw-r--r-- | jmake/files/Jmake.rules | 24 | ||||
-rw-r--r-- | jmake/files/Jmake.tmpl | 9 |
4 files changed, 35 insertions, 8 deletions
diff --git a/jmake/Jmakefile b/jmake/Jmakefile index f156184..e204d7d 100644 --- a/jmake/Jmakefile +++ b/jmake/Jmakefile @@ -40,7 +40,8 @@ InstallMultipleFlags(files/Jmake*,$(PRIVLIB)/files,-m 444) BINSH = jmake.SH fixcpp.SH -depend:: +depend:: local_depend +local_depend:: ($(SED) '/^# DO NOT DELETE/q' Makefile && \ grep '^\$$grep' $(BINSH) | \ $(SED) -e "s/^.*' \([^ ]*\) >>\([^ ]*\)/\2: \1/" \ diff --git a/jmake/Makefile.SH b/jmake/Makefile.SH index 2af8e44..0e859ea 100755 --- a/jmake/Makefile.SH +++ b/jmake/Makefile.SH @@ -1,5 +1,5 @@ : Makefile.SH generated from Jmake.tmpl and Jmakefile [jmake 3.5-43] -: $X-Id: Jmake.tmpl 30 2009-10-28 07:45:28Z rmanfredi $ +: $X-Id: Jmake.tmpl 47 2010-11-28 22:23:13Z rmanfredi $ case $CONFIG in '') @@ -210,7 +210,8 @@ local_deinstall:: BINSH = jmake.SH fixcpp.SH -depend:: +depend:: local_depend +local_depend:: ($(SED) '/^# DO NOT DELETE/q' Makefile && \ grep '^\$$grep' $(BINSH) | \ $(SED) -e "s/^.*' \([^ ]*\) >>\([^ ]*\)/\2: \1/" \ @@ -280,6 +281,8 @@ tags:: local_clobber:: $(RM) tags +depend:: + ######################################################################## # Empty rules for directories with no sub-directories -- do not edit 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 |