diff options
-rw-r--r-- | toolchain/Makefile | 26 | ||||
-rw-r--r-- | tools/Makefile | 28 |
2 files changed, 30 insertions, 24 deletions
diff --git a/toolchain/Makefile b/toolchain/Makefile index 21d2b6876..e0af602c2 100644 --- a/toolchain/Makefile +++ b/toolchain/Makefile @@ -6,25 +6,27 @@ # # Main makefile for the toolchain # +file:=${lastword ${MAKEFILE_LIST}} +curdir:=$(patsubst %/Makefile,%,${file}) # subdirectories to descend into -toolchain/builddirs := kernel-headers $(if $(CONFIG_GDB),gdb) $(if $(CONFIG_NATIVE_TOOLCHAIN),,binutils gcc uClibc) +$(curdir)/builddirs := kernel-headers $(if $(CONFIG_GDB),gdb) $(if $(CONFIG_NATIVE_TOOLCHAIN),,binutils gcc uClibc) # builddir dependencies -toolchain/uClibc/prepare:=toolchain/kernel-headers/prepare +$(curdir)/uClibc/prepare:=$(curdir)/kernel-headers/prepare ifeq ($(CONFIG_NATIVE_TOOLCHAIN),) - toolchain/binutils/prepare:=toolchain/uClibc/prepare - toolchain/gcc/prepare:=toolchain/binutils/install - toolchain/uClibc/compile:=toolchain/gcc/compile + $(curdir)/binutils/prepare:=$(curdir)/uClibc/prepare + $(curdir)/gcc/prepare:=$(curdir)/binutils/install + $(curdir)/uClibc/compile:=$(curdir)/gcc/compile endif -toolchain/gcc/install:=toolchain/uClibc/install +$(curdir)/gcc/install:=$(curdir)/uClibc/install # prerequisites for the individual targets -toolchain/ := .config $(tools/stamp) -toolchain//prepare = $(STAGING_DIR)/include-host/.done -toolchain//compile = $(1)/prepare -toolchain//install = $(1)/compile +$(curdir)/ := .config $(tools/stamp) +$(curdir)//prepare = $(STAGING_DIR)/include-host/.done +$(curdir)//compile = $(1)/prepare +$(curdir)//install = $(1)/compile -$(eval $(call stampfile,toolchain,toolchain)) -$(eval $(call subdir,toolchain)) +$(eval $(call stampfile,$(curdir),toolchain)) +$(eval $(call subdir,$(curdir))) diff --git a/tools/Makefile b/tools/Makefile index ed2eae89d..ea4ce7081 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -7,25 +7,29 @@ # Main makefile for the host tools # -curdir:=tools +file:=${lastword ${MAKEFILE_LIST}} +curdir:=$(patsubst %/Makefile,%,${file}) # subdirectories to descend into -tools/builddirs := sed sstrip ipkg-utils ext2fs squashfs mtd-utils lzma mkimage firmware-utils patch-cmdline $(if $(CONFIG_CCACHE),ccache) +$(curdir)/builddirs := sed sstrip ipkg-utils ext2fs squashfs mtd-utils lzma mkimage firmware-utils patch-cmdline $(if $(CONFIG_CCACHE),ccache) # builddir dependencies -tools/squashfs/compile := tools/lzma/install +$(curdir)/squashfs/compile := $(curdir)/lzma/install # preparatory work +define copy_include $(STAGING_DIR)/include-host/.done: - @mkdir -p $$(dirname $@) - @cp tools/include/*.h $$(dirname $@)/ - @touch $@ + @mkdir -p $$$$(dirname $$@) + @cp $(1)/include/*.h $$$$(dirname $$@)/ + @touch $$@ +$(curdir)//prepare = $(STAGING_DIR)/include-host/.done +endef +$(eval $(call copy_include,$(curdir))) # prerequisites for the individual targets -tools/ := .config -tools//prepare = $(STAGING_DIR)/include-host/.done -tools//compile = $(1)/prepare -tools//install = $(1)/compile +$(curdir)/ := .config +$(curdir)//compile = $(1)/prepare +$(curdir)//install = $(1)/compile -$(eval $(call stampfile,tools,tools)) -$(eval $(call subdir,tools)) +$(eval $(call stampfile,$(curdir),tools)) +$(eval $(call subdir,$(curdir))) |