gluon.mk 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. ifneq ($(__gluon_inc),1)
  2. __gluon_inc=1
  3. GLUON_OPENWRTDIR := $(GLUONDIR)/openwrt
  4. GLUON_SITEDIR := $(GLUONDIR)/site
  5. GLUON_IMAGEDIR ?= $(GLUONDIR)/images
  6. GLUON_BUILDDIR ?= $(GLUONDIR)/build
  7. BOARD_BUILDDIR = $(GLUON_BUILDDIR)/$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET))
  8. BOARD_KDIR = $(BOARD_BUILDDIR)/kernel
  9. export GLUONDIR GLUON_SITEDIR GLUON_IMAGEDIR GLUON_OPENWRTDIR GLUON_BUILDDIR
  10. $(GLUON_SITEDIR)/site.mk:
  11. $(error There was no site configuration found. Please check out a site configuration to $(GLUON_SITEDIR))
  12. -include $(GLUON_SITEDIR)/site.mk
  13. GLUON_VERSION := $(shell cd $(GLUONDIR) && git describe --always 2>/dev/null || echo unknown)
  14. export GLUON_VERSION
  15. ifeq ($(OPENWRT_BUILD),1)
  16. ifeq ($(GLUON_TOOLS),1)
  17. GLUON_CONFIG_VERSION := $(shell test -d $(GLUON_SITEDIR) && (cd $(GLUON_SITEDIR) && git describe --always --dirty=.$$($(STAGING_DIR_HOST)/bin/stat -c %Y $(GLUON_SITEDIR)/site.conf) 2>/dev/null || $(STAGING_DIR_HOST)/bin/stat -c %Y site.conf))
  18. export GLUON_CONFIG_VERSION
  19. CONFIG_VERSION_REPO := $(shell $(GLUONDIR)/scripts/site.sh opkg_repo || echo http://downloads.openwrt.org/attitude_adjustment/12.09/%S/packages)
  20. export CONFIG_VERSION_REPO
  21. GLUON_SITE_CODE := $(shell $(GLUONDIR)/scripts/site.sh site_code)
  22. export GLUON_SITE_CODE
  23. GLUON_RELEASE ?= $(shell $(GLUONDIR)/scripts/site.sh release)
  24. export GLUON_RELEASE
  25. endif
  26. endif
  27. define merge-lists
  28. $(1) :=
  29. $(foreach var,$(2),$(1) := $$(sort $$(filter-out -% $$(patsubst -%,%,$$(filter -%,$$($(var)))),$$($(1)) $$($(var))))
  30. )
  31. endef
  32. GLUON_TARGETS :=
  33. define GluonTarget
  34. gluon_target := $(1)$$(if $(2),-$(2))
  35. GLUON_TARGETS += $$(gluon_target)
  36. GLUON_TARGET_$$(gluon_target)_BOARD := $(1)
  37. GLUON_TARGET_$$(gluon_target)_SUBTARGET := $(2)
  38. include $$(GLUONDIR)/targets/$$(gluon_target)/profiles.mk
  39. endef
  40. regex-escape = $(shell echo '$(1)' | sed -e 's/[]\/()$*.^|[]/\\&/g')
  41. GLUON_DEFAULT_PACKAGES := gluon-core kmod-ipv6 firewall ip6tables -uboot-envtools
  42. override DEFAULT_PACKAGES.router :=
  43. endif #__gluon_inc