Makefile 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #
  2. # Copyright (C) 2006-2012 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. include $(INCLUDE_DIR)/version.mk
  11. override MAKEFLAGS=
  12. PKG_OS:=$(word 2,$(subst -, ,$(shell $(HOSTCC) -dumpmachine)))
  13. PKG_CPU:=$(word 1,$(subst -, ,$(shell $(HOSTCC) -dumpmachine)))
  14. IB_NAME:=OpenWrt-ImageBuilder-$(BOARD)$(if $(SUBTARGET),_$(SUBTARGET))-for-$(PKG_OS)-$(PKG_CPU)
  15. PKG_BUILD_DIR:=$(BUILD_DIR)/$(IB_NAME)
  16. IB_KDIR:=$(patsubst $(TOPDIR)/%,$(PKG_BUILD_DIR)/%,$(KERNEL_BUILD_DIR))
  17. IB_LDIR:=$(patsubst $(TOPDIR)/%,$(PKG_BUILD_DIR)/%,$(LINUX_DIR))
  18. all: compile
  19. $(BIN_DIR)/$(IB_NAME).tar.bz2: clean
  20. rm -rf $(PKG_BUILD_DIR)
  21. mkdir -p $(IB_KDIR) $(IB_LDIR) $(PKG_BUILD_DIR)/staging_dir/host \
  22. $(PKG_BUILD_DIR)/target $(PKG_BUILD_DIR)/scripts
  23. -cp $(TOPDIR)/.config $(PKG_BUILD_DIR)/.config
  24. $(CP) \
  25. $(INCLUDE_DIR) $(SCRIPT_DIR) \
  26. $(TOPDIR)/rules.mk \
  27. ./files/Makefile \
  28. ./files/repositories.conf \
  29. $(TMP_DIR)/.targetinfo \
  30. $(TMP_DIR)/.packageinfo \
  31. $(PKG_BUILD_DIR)/
  32. $(VERSION_SED) $(PKG_BUILD_DIR)/repositories.conf
  33. $(CP) $(PACKAGE_DIR) $(PKG_BUILD_DIR)/packages
  34. $(CP) $(TOPDIR)/target/linux $(PKG_BUILD_DIR)/target/
  35. rm -rf \
  36. $(PKG_BUILD_DIR)/target/linux/*/files{,-*} \
  37. $(PKG_BUILD_DIR)/target/linux/*/patches{,-*}
  38. -cp $(KERNEL_BUILD_DIR)/* $(IB_KDIR)/ # don't copy subdirectories here
  39. -cp $(LINUX_DIR)/.config $(IB_LDIR)/
  40. $(SED) 's,^# REVISION:=.*,REVISION:=$(REVISION),g' $(PKG_BUILD_DIR)/include/version.mk
  41. find $(PKG_BUILD_DIR) -name CVS -o -name .git -o -name .svn \
  42. | $(XARGS) rm -rf
  43. find $(STAGING_DIR_HOST)/bin -maxdepth 1 -type f -perm -u=x \
  44. | $(XARGS) $(SCRIPT_DIR)/bundle-libraries.sh $(PKG_BUILD_DIR)/staging_dir/host/bin
  45. $(TAR) c -C $(BUILD_DIR) $(IB_NAME) | bzip2 -c > $@
  46. download:
  47. prepare:
  48. compile: $(BIN_DIR)/$(IB_NAME).tar.bz2
  49. install: compile
  50. clean: FORCE
  51. rm -rf $(PKG_BUILD_DIR) $(BIN_DIR)/$(IB_NAME).tar.bz2