Skip to content
Snippets Groups Projects
Commit c20d0b41 authored by Matthias Schiffer's avatar Matthias Schiffer
Browse files

Rework target handling

Don't set ar71xx-generic target by default, generate manifest for all built
targets.
parent 68ff6da1
No related branches found
No related tags found
No related merge requests found
...@@ -20,10 +20,6 @@ TOPDIR:=$(GLUON_ORIGOPENWRTDIR) ...@@ -20,10 +20,6 @@ TOPDIR:=$(GLUON_ORIGOPENWRTDIR)
export TOPDIR export TOPDIR
GLUON_TARGET ?= ar71xx-generic
export GLUON_TARGET
update: FORCE update: FORCE
$(GLUONDIR)/scripts/update.sh $(GLUONDIR)/scripts/update.sh
$(GLUONDIR)/scripts/patch.sh $(GLUONDIR)/scripts/patch.sh
...@@ -52,22 +48,12 @@ export OPENWRT_BUILD GLUON_TOOLS GREP_OPTIONS ...@@ -52,22 +48,12 @@ export OPENWRT_BUILD GLUON_TOOLS GREP_OPTIONS
-include $(TOPDIR)/include/depends.mk -include $(TOPDIR)/include/depends.mk
include $(GLUONDIR)/include/toplevel.mk include $(GLUONDIR)/include/toplevel.mk
define GluonProfile
image/$(1): FORCE
+@$$(GLUONMAKE) $$@
endef
define GluonProfileFactorySuffix
endef
define GluonProfileSysupgradeSuffix include $(GLUONDIR)/targets/targets.mk
endef
define GluonModel
endef
include $(GLUONDIR)/targets/targets.mk CheckTarget := [ -n '$(GLUON_TARGET)' -a -n '$(GLUON_TARGET_$(GLUON_TARGET)_BOARD)' -a -n '$(GLUON_TARGET_$(GLUON_TARGET)_SUBTARGET)' ] \
include $(GLUONDIR)/targets/$(GLUON_TARGET)/profiles.mk || (echo -e 'Please set GLUON_TARGET to a valid target. Gluon supports the following targets:$(subst $(space),\n * ,$(GLUON_TARGETS))'; false)
CheckExternal := test -d $(GLUON_ORIGOPENWRTDIR) || (echo 'You don'"'"'t seem to have obtained the external repositories needed by Gluon; please call `make update` first!'; false) CheckExternal := test -d $(GLUON_ORIGOPENWRTDIR) || (echo 'You don'"'"'t seem to have obtained the external repositories needed by Gluon; please call `make update` first!'; false)
...@@ -75,6 +61,7 @@ CheckExternal := test -d $(GLUON_ORIGOPENWRTDIR) || (echo 'You don'"'"'t seem to ...@@ -75,6 +61,7 @@ CheckExternal := test -d $(GLUON_ORIGOPENWRTDIR) || (echo 'You don'"'"'t seem to
prepare-target: FORCE prepare-target: FORCE
@$(CheckExternal) @$(CheckExternal)
@$(CheckTarget)
+@$(GLUONMAKE_EARLY) prepare-target +@$(GLUONMAKE_EARLY) prepare-target
...@@ -87,11 +74,13 @@ prepare: prepare-target ...@@ -87,11 +74,13 @@ prepare: prepare-target
clean dirclean download images: FORCE clean dirclean download images: FORCE
@$(CheckExternal) @$(CheckExternal)
@$(CheckTarget)
+@$(GLUONMAKE_EARLY) maybe-prepare-target +@$(GLUONMAKE_EARLY) maybe-prepare-target
+@$(GLUONMAKE) $@ +@$(GLUONMAKE) $@
toolchain/% package/% target/%: FORCE toolchain/% package/% target/% image/%: FORCE
@$(CheckExternal) @$(CheckExternal)
@$(CheckTarget)
+@$(GLUONMAKE_EARLY) maybe-prepare-target +@$(GLUONMAKE_EARLY) maybe-prepare-target
+@$(GLUONMAKE) $@ +@$(GLUONMAKE) $@
...@@ -99,8 +88,19 @@ manifest: FORCE ...@@ -99,8 +88,19 @@ manifest: FORCE
[ -n '$(GLUON_BRANCH)' ] || (echo 'Please set GLUON_BRANCH to create a manifest.'; false) [ -n '$(GLUON_BRANCH)' ] || (echo 'Please set GLUON_BRANCH to create a manifest.'; false)
echo '$(GLUON_PRIORITY)' | grep -qE '^([0-9]*\.)?[0-9]+$$' || (echo 'Please specify a numeric value for GLUON_PRIORITY to create a manifest.'; false) echo '$(GLUON_PRIORITY)' | grep -qE '^([0-9]*\.)?[0-9]+$$' || (echo 'Please specify a numeric value for GLUON_PRIORITY to create a manifest.'; false)
@$(CheckExternal) @$(CheckExternal)
+@$(GLUONMAKE_EARLY) maybe-prepare-target
+@$(GLUONMAKE) $@ @mkdir -p $(GLUON_IMAGEDIR)/sysupgrade
@( \
echo 'BRANCH=$(GLUON_BRANCH)' && \
echo 'DATE=$(shell $(STAGING_DIR_HOST)/bin/lua $(GLUONDIR)/scripts/rfc3339date.lua)' && \
echo 'PRIORITY=$(GLUON_PRIORITY)' && \
echo \
) > $(GLUON_IMAGEDIR)/sysupgrade/$(GLUON_BRANCH).manifest
+($(foreach GLUON_TARGET,$(GLUON_TARGETS), \
( [ ! -e $(BOARD_BUILDDIR)/target-prepared ] || ( $(GLUONMAKE) manifest GLUON_TARGET='$(GLUON_TARGET)' ) ) && \
) :)
else else
...@@ -385,21 +385,17 @@ call_image/%: FORCE ...@@ -385,21 +385,17 @@ call_image/%: FORCE
images: $(patsubst %,call_image/%,$(PROFILES)) ; images: $(patsubst %,call_image/%,$(PROFILES)) ;
manifest: FORCE manifest: FORCE
mkdir -p $(GLUON_IMAGEDIR)/sysupgrade ( \
(cd $(GLUON_IMAGEDIR)/sysupgrade && \ cd $(GLUON_IMAGEDIR)/sysupgrade; \
echo 'BRANCH=$(GLUON_BRANCH)' && \ $(foreach profile,$(PROFILES), \
echo 'DATE=$(shell $(STAGING_DIR_HOST)/bin/lua $(GLUONDIR)/scripts/rfc3339date.lua)' && \
echo 'PRIORITY=$(GLUON_PRIORITY)' && \
echo && \
($(foreach profile,$(PROFILES), \
$(foreach model,$(GLUON_$(profile)_MODELS), \ $(foreach model,$(GLUON_$(profile)_MODELS), \
file="$(IMAGE_PREFIX)-$(model)-sysupgrade$(GLUON_$(profile)_SYSUPGRADE_EXT)"; \ file="$(IMAGE_PREFIX)-$(model)-sysupgrade$(GLUON_$(profile)_SYSUPGRADE_EXT)"; \
[ -e "$$file" ] && echo '$(model)' "$(PREPARED_RELEASE)" "$$($(SHA512SUM) "$$file")" "$$file"; \ [ -e "$$file" ] && echo '$(model)' "$(PREPARED_RELEASE)" "$$($(SHA512SUM) "$$file")" "$$file"; \
) \ ) \
) :) \ ) : \
) > $(GLUON_IMAGEDIR)/sysupgrade/$(GLUON_BRANCH).manifest ) >> $(GLUON_IMAGEDIR)/sysupgrade/$(GLUON_BRANCH).manifest
.PHONY: all images prepare clean gluon-tools .PHONY: all images prepare clean gluon-tools manifest
endif endif
...@@ -8,12 +8,14 @@ GLUON_BUILDDIR ?= $(GLUONDIR)/build ...@@ -8,12 +8,14 @@ GLUON_BUILDDIR ?= $(GLUONDIR)/build
GLUON_ORIGOPENWRTDIR := $(GLUONDIR)/openwrt GLUON_ORIGOPENWRTDIR := $(GLUONDIR)/openwrt
GLUON_SITE_CONFIG := $(GLUON_SITEDIR)/site.conf GLUON_SITE_CONFIG := $(GLUON_SITEDIR)/site.conf
GLUON_OPENWRTDIR = $(GLUON_BUILDDIR)/$(GLUON_TARGET)/openwrt export GLUONDIR GLUON_SITEDIR GLUON_SITE_CONFIG GLUON_IMAGEDIR GLUON_BUILDDIR
BOARD_BUILDDIR = $(GLUON_BUILDDIR)/$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET))
BOARD_BUILDDIR = $(GLUON_BUILDDIR)/$(GLUON_TARGET)
BOARD_KDIR = $(BOARD_BUILDDIR)/kernel BOARD_KDIR = $(BOARD_BUILDDIR)/kernel
export GLUONDIR GLUON_SITEDIR GLUON_SITE_CONFIG GLUON_IMAGEDIR GLUON_OPENWRTDIR GLUON_BUILDDIR GLUON_OPENWRTDIR = $(BOARD_BUILDDIR)/openwrt
$(GLUON_SITEDIR)/site.mk: $(GLUON_SITEDIR)/site.mk:
$(error There was no site configuration found. Please check out a site configuration to $(GLUON_SITEDIR)) $(error There was no site configuration found. Please check out a site configuration to $(GLUON_SITEDIR))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment