| 1 | # |
| 2 | # Copyright (C) 2006-2008 OpenWrt.org |
| 3 | # |
| 4 | # This is free software, licensed under the GNU General Public License v2. |
| 5 | # See /LICENSE for more information. |
| 6 | # |
| 7 | |
| 8 | include $(TOPDIR)/rules.mk |
| 9 | include $(INCLUDE_DIR)/kernel.mk |
| 10 | include $(INCLUDE_DIR)/host.mk |
| 11 | |
| 12 | override MAKEFLAGS= |
| 13 | |
| 14 | PKG_OS:=$(shell uname -s) |
| 15 | PKG_CPU:=$(shell uname -m) |
| 16 | |
| 17 | SDK_NAME:=OpenWrt-SDK-$(BOARD)-for-$(PKG_OS)-$(PKG_CPU)-gcc-$(GCCV)_$(LIBC)-$(LIBCV) |
| 18 | SDK_BUILD_DIR:=$(BUILD_DIR)/$(SDK_NAME) |
| 19 | EXCLUDE_DIRS:=*/ccache \ |
| 20 | */stamp \ |
| 21 | */stampfiles \ |
| 22 | */man \ |
| 23 | */info |
| 24 | |
| 25 | SVN_PACKAGE_URL=$(shell svn info ../../package | awk '/^URL:/ { print $$2; }') |
| 26 | |
| 27 | all: compile |
| 28 | |
| 29 | $(BIN_DIR)/$(SDK_NAME).tar.bz2: clean |
| 30 | mkdir -p $(SDK_BUILD_DIR)/dl $(SDK_BUILD_DIR)/package |
| 31 | $(CP) $(INCLUDE_DIR) $(SCRIPT_DIR) $(TOPDIR)/docs $(SDK_BUILD_DIR)/ |
| 32 | $(TAR) -cf - -C $(TOPDIR) \ |
| 33 | $(foreach exclude,$(EXCLUDE_DIRS),--exclude="$(exclude)") \ |
| 34 | --exclude="staging_dir/$(ARCH)" \ |
| 35 | staging_dir/host staging_dir/target-$(ARCH)$(ARCH_SUFFIX)_$(LIBC)-$(LIBCV)$(if $(CONFIG_arm),_eabi) \ |
| 36 | staging_dir/toolchain-$(ARCH)$(ARCH_SUFFIX)_gcc-$(GCCV)_$(LIBC)-$(LIBCV)$(if $(CONFIG_arm),_eabi) | \ |
| 37 | $(TAR) -xf - -C $(SDK_BUILD_DIR) |
| 38 | mkdir -p $(SDK_BUILD_DIR)/target/linux |
| 39 | $(CP) $(GENERIC_PLATFORM_DIR) $(PLATFORM_DIR) $(SDK_BUILD_DIR)/target/linux/ |
| 40 | rm -rf \ |
| 41 | $(SDK_BUILD_DIR)/target/linux/*/files \ |
| 42 | $(SDK_BUILD_DIR)/target/linux/*/patches |
| 43 | $(CP) -L \ |
| 44 | $(TOPDIR)/LICENSE \ |
| 45 | $(TOPDIR)/rules.mk \ |
| 46 | $(TOPDIR)/.config \ |
| 47 | ./files/Config.in \ |
| 48 | ./files/Makefile \ |
| 49 | ./files/README.SDK \ |
| 50 | $(SDK_BUILD_DIR)/ |
| 51 | $(CP) \ |
| 52 | ./files/package/rules.mk \ |
| 53 | $(TOPDIR)/package/Makefile \ |
| 54 | $(SDK_BUILD_DIR)/package/ |
| 55 | echo "src-svn trunk $(SVN_PACKAGE_URL)" \ |
| 56 | > $(SDK_BUILD_DIR)/feeds.conf.default |
| 57 | cat $(TOPDIR)/feeds.conf.default \ |
| 58 | >> $(SDK_BUILD_DIR)/feeds.conf.default |
| 59 | echo REVISION:="$(REVISION)" > $(SDK_BUILD_DIR)/include/version.mk |
| 60 | find $(SDK_BUILD_DIR) -name .git | $(XARGS) rm -rf |
| 61 | find $(SDK_BUILD_DIR) -name .svn | $(XARGS) rm -rf |
| 62 | find $(SDK_BUILD_DIR) -name CVS | $(XARGS) rm -rf |
| 63 | (cd $(BUILD_DIR); \ |
| 64 | tar cfj $@ $(SDK_NAME); \ |
| 65 | ) |
| 66 | |
| 67 | download: |
| 68 | prepare: |
| 69 | compile: $(BIN_DIR)/$(SDK_NAME).tar.bz2 |
| 70 | install: compile |
| 71 | |
| 72 | clean: |
| 73 | rm -rf $(SDK_BUILD_DIR) $(BIN_DIR)/$(SDK_NAME).tar.bz2 |
| 74 | |