Makefile 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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. include $(TOPDIR)/rules.mk
  8. include $(INCLUDE_DIR)/kernel.mk
  9. include $(INCLUDE_DIR)/host.mk
  10. override MAKEFLAGS=
  11. PKG_OS:=$(word 2,$(subst -, ,$(shell $(HOSTCC) -dumpmachine)))
  12. PKG_CPU:=$(word 1,$(subst -, ,$(shell $(HOSTCC) -dumpmachine)))
  13. SDK_NAME:=OpenWrt-SDK-$(BOARD)-for-$(PKG_OS)-$(PKG_CPU)-gcc-$(GCCV)_$(LIBC)-$(LIBCV)
  14. SDK_BUILD_DIR:=$(BUILD_DIR)/$(SDK_NAME)
  15. EXCLUDE_DIRS:=*/ccache \
  16. */stamp \
  17. */stampfiles \
  18. */man \
  19. */info
  20. SVN_PACKAGE_URL=$(shell svn info ../../package | awk '/^URL:/ { print $$2; }')
  21. all: compile
  22. $(BIN_DIR)/$(SDK_NAME).tar.bz2: clean
  23. mkdir -p $(SDK_BUILD_DIR)/dl $(SDK_BUILD_DIR)/package
  24. $(CP) $(INCLUDE_DIR) $(SCRIPT_DIR) $(TOPDIR)/docs $(SDK_BUILD_DIR)/
  25. $(TAR) -cf - -C $(TOPDIR) \
  26. $(foreach exclude,$(EXCLUDE_DIRS),--exclude="$(exclude)") \
  27. --exclude="staging_dir/$(ARCH)" \
  28. staging_dir/host staging_dir/target-$(ARCH)$(ARCH_SUFFIX)_$(LIBC)-$(LIBCV)$(if $(CONFIG_arm),_eabi) \
  29. staging_dir/toolchain-$(ARCH)$(ARCH_SUFFIX)_gcc-$(GCCV)_$(LIBC)-$(LIBCV)$(if $(CONFIG_arm),_eabi) | \
  30. $(TAR) -xf - -C $(SDK_BUILD_DIR)
  31. mkdir -p $(SDK_BUILD_DIR)/target/linux
  32. $(CP) $(GENERIC_PLATFORM_DIR) $(PLATFORM_DIR) $(SDK_BUILD_DIR)/target/linux/
  33. rm -rf \
  34. $(SDK_BUILD_DIR)/target/linux/*/files \
  35. $(SDK_BUILD_DIR)/target/linux/*/patches
  36. $(CP) -L \
  37. $(TOPDIR)/LICENSE \
  38. $(TOPDIR)/rules.mk \
  39. $(TOPDIR)/.config \
  40. ./files/Config.in \
  41. ./files/Makefile \
  42. ./files/README.SDK \
  43. $(SDK_BUILD_DIR)/
  44. $(CP) \
  45. ./files/package/rules.mk \
  46. $(TOPDIR)/package/Makefile \
  47. $(SDK_BUILD_DIR)/package/
  48. $(if $(SVN_PACKAGE_URL),echo "src-svn trunk $(SVN_PACKAGE_URL)" \
  49. > $(SDK_BUILD_DIR)/feeds.conf.default,\
  50. -rm -f $(SDK_BUILD_DIR)/feeds.conf.default)
  51. cat $(TOPDIR)/feeds.conf.default \
  52. >> $(SDK_BUILD_DIR)/feeds.conf.default
  53. $(SED) 's,^# REVISION:=.*,REVISION:=$(REVISION),g' $(SDK_BUILD_DIR)/include/version.mk
  54. find $(SDK_BUILD_DIR) -name .git | $(XARGS) rm -rf
  55. find $(SDK_BUILD_DIR) -name .svn | $(XARGS) rm -rf
  56. find $(SDK_BUILD_DIR) -name CVS | $(XARGS) rm -rf
  57. (cd $(BUILD_DIR); \
  58. tar cfj $@ $(SDK_NAME); \
  59. )
  60. download:
  61. prepare:
  62. compile: $(BIN_DIR)/$(SDK_NAME).tar.bz2
  63. install: compile
  64. clean:
  65. rm -rf $(SDK_BUILD_DIR) $(BIN_DIR)/$(SDK_NAME).tar.bz2