aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain/Makefile
diff options
context:
space:
mode:
authorMike Baker <mbm@openwrt.org>2005-03-06 03:34:52 +0000
committerMike Baker <mbm@openwrt.org>2005-03-06 03:34:52 +0000
commit3d904bb14a330fb72f60d4b78a40435389398655 (patch)
tree4c6922d42353c39b46dcd7cd09982fbe9c1f9765 /toolchain/Makefile
parentb92a98900c8308542da9f758cd656880081f1196 (diff)
downloadupstream-3d904bb14a330fb72f60d4b78a40435389398655.tar.gz
upstream-3d904bb14a330fb72f60d4b78a40435389398655.tar.bz2
upstream-3d904bb14a330fb72f60d4b78a40435389398655.zip
nbd's makefile/menuconfig rewrite
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@307 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'toolchain/Makefile')
-rw-r--r--toolchain/Makefile45
1 files changed, 45 insertions, 0 deletions
diff --git a/toolchain/Makefile b/toolchain/Makefile
new file mode 100644
index 0000000000..0c06fe9ea0
--- /dev/null
+++ b/toolchain/Makefile
@@ -0,0 +1,45 @@
+# Main makefile for the toolchain
+include $(TOPDIR)/rules.mk
+TARGETS:=sed utils binutils gcc uClibc ipkg-utils
+
+TARGETS_INSTALL:=$(patsubst %,%-install,$(TARGETS))
+TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS))
+
+all: install
+install: $(TARGETS_INSTALL)
+clean: $(TARGETS_CLEAN)
+
+uClibc-prepare: kernel-headers-prepare sed-install utils-install
+binutils-prepare: uClibc-prepare
+gcc-prepare: binutils-install
+uClibc-compile: gcc-prepare
+gcc-install: uClibc-install
+
+$(STAMP_DIR):
+ mkdir -p $(STAMP_DIR)
+
+$(STAGING_DIR):
+ @mkdir -p $(STAGING_DIR)/lib
+ @mkdir -p $(STAGING_DIR)/include
+ @mkdir -p $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)
+ @ln -sf ../lib $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/lib
+
+$(TOOL_BUILD_DIR):
+ @mkdir -p $(TOOL_BUILD_DIR)
+
+%-prepare: $(STAMP_DIR) $(STAGING_DIR) $(TOOL_BUILD_DIR)
+ @[ -f $(STAMP_DIR)/.toolchain_$@ ] || $(MAKE) -C $(patsubst %-prepare,%,$@) prepare
+ @touch $(STAMP_DIR)/.toolchain_$@
+
+%-compile: %-prepare
+ @[ -f $(STAMP_DIR)/.toolchain_$@ ] || $(MAKE) -C $(patsubst %-compile,%,$@) compile
+ @touch $(STAMP_DIR)/.toolchain_$@
+
+%-install: %-compile
+ @[ -f $(STAMP_DIR)/.toolchain_$@ ] || $(MAKE) -C $(patsubst %-install,%,$@) install
+ @touch $(STAMP_DIR)/.toolchain_$@
+
+%-clean:
+ @$(MAKE) -C $(patsubst %-clean,%,$@) clean
+ @rm -f $(STAMP_DIR)/.toolchain_$(patsubst %-clean,%,$@)-*
+