summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--Rules.make18
1 files changed, 7 insertions, 11 deletions
diff --git a/Rules.make b/Rules.make
index 96e528b..362659a 100644
--- a/Rules.make
+++ b/Rules.make
@@ -4,6 +4,7 @@ $(configs) :
$(call makecfg,$@)
$(TOPDIR)/.depends : $(TOPDIR)/config.in
+ # add to subdir-y, and add descend rules
@cat $(TOPDIR)/packages | \
awk '/^#/ { next }; {print \
".PHONY : " $$2 "\n" \
@@ -12,23 +13,18 @@ $(TOPDIR)/.depends : $(TOPDIR)/config.in
"$$(call makefilegen,$$@)\n\n" \
$$2 " : " $$2 "/Makefile\n\t$$(call descend,$$@)\n"}'\
> $(TOPDIR)/.depends
+ # interpackage dependency generation
@cat $(TOPDIR)/packages | \
$(TOPDIR)/scripts/deps.pl >> $(TOPDIR)/.depends
+ # generation of config.in files, and config.in interdependencies
+ find ./ -name config.in | ( for cfg in `cat`; do dir=`dirname $cfg`; name=`basename $dir`; if [ ! -e $dir/$name.pro ]; then echo $dir; fi; done; ) > dirs
+ cat dirs | for i in `cat`; do numlines="`cat dirs|grep $i 2>/dev/null|wc -l`"; if [ "$numlines" -ne "1" ]; then deps=`cat dirs|grep $i| grep -v "^$i$"|for i in \`cat|sed -e's,^./,$(TOPDIR)/,g'\`; do echo $i/config.in; done`; echo `echo $i|sed -e 's,^./,$(TOPDIR)/,'` : $deps; fi; done;
$(TOPDIR)/qmake/qmake :
$(call descend,$(TOPDIR)/qmake)
-$(TOPDIR)/scripts/lxdialog/lxdialog :
- $(call descend,$(TOPDIR)/scripts/lxdialog)
-
-$(TOPDIR)/scripts/kconfig/conf scripts/kconfig/conf:
- $(call descend,$(TOPDIR)/scripts/kconfig,conf)
-
-$(TOPDIR)/scripts/kconfig/mconf scripts/kconfig/mconf:
- $(call descend,$(TOPDIR)/scripts/kconfig,mconf)
-
-$(TOPDIR)/scripts/kconfig/qconf scripts/kconfijg/qconf:
- $(call descend,$(TOPDIR)/scripts/kconfig,qconf)
+$(TOPDIR)/scripts/lxdialog/lxdialog $(TOPDIR)/scripts/kconfig/conf scripts/kconfig/conf $(TOPDIR)/scripts/kconfig/mconf scripts/kconfig/mconf $(TOPDIR)/scripts/kconfig/qconf scripts/kconfig/qconf :
+ $(call descend,$(shell dirname $@),$(shell basename $@))
## general rules ##