gluon.mk 2.1 KB

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