summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/subdir.mk9
-rw-r--r--toolchain/Makefile2
-rw-r--r--tools/Makefile2
3 files changed, 8 insertions, 5 deletions
diff --git a/include/subdir.mk b/include/subdir.mk
index b2bc04b..16e4f4b 100644
--- a/include/subdir.mk
+++ b/include/subdir.mk
@@ -25,6 +25,11 @@ endef
SUBTARGETS:=clean download prepare compile install update refresh prereq
+define subtarget
+ $(call warn_eval,$(1),t,T,$(1)/$(2): $($(1)/) $(foreach bd,$(if $($(1)/builddirs-$(2)),$($(1)/builddirs-$(2)),$($(1)/builddirs)),$(1)/$(bd)/$(2)))
+
+endef
+
# Parameters: <subdir>
define subdir
$(call warn,$(1),d,D $(1))
@@ -38,9 +43,7 @@ define subdir
$(call warn_eval,$(1)/$(bd),l,T,$(1)/$(bd)-$(target): $(1)/$(bd)/$(target))
)
)
- $(foreach target,$(SUBTARGETS),
- $(call warn_eval,$(1),t,T,$(1)/$(target): $($(1)/) $(foreach bd,$(if $($(1)/builddirs-$(target)),$($(1)/builddirs-$(target)),$($(1)/builddirs)),$(1)/$(bd)/$(target)) ;)
- )
+ $(foreach target,$(SUBTARGETS),$(call subtarget,$(1),$(target)))
endef
# Parameters: <subdir> <name>
diff --git a/toolchain/Makefile b/toolchain/Makefile
index e0af602..e8ee24f 100644
--- a/toolchain/Makefile
+++ b/toolchain/Makefile
@@ -7,7 +7,7 @@
# Main makefile for the toolchain
#
file:=${lastword ${MAKEFILE_LIST}}
-curdir:=$(patsubst %/Makefile,%,${file})
+curdir:=toolchain
# subdirectories to descend into
$(curdir)/builddirs := kernel-headers $(if $(CONFIG_GDB),gdb) $(if $(CONFIG_NATIVE_TOOLCHAIN),,binutils gcc uClibc)
diff --git a/tools/Makefile b/tools/Makefile
index ea4ce70..2c093c0 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -8,7 +8,7 @@
#
file:=${lastword ${MAKEFILE_LIST}}
-curdir:=$(patsubst %/Makefile,%,${file})
+curdir:=tools
# subdirectories to descend into
$(curdir)/builddirs := sed sstrip ipkg-utils ext2fs squashfs mtd-utils lzma mkimage firmware-utils patch-cmdline $(if $(CONFIG_CCACHE),ccache)