mirror of
https://github.com/home-assistant/operating-system.git
synced 2025-04-19 14:47:15 +00:00

* Add development build version part to version number Add third part in the version number to indicate development builds. Generate a default version number based on the date, e.g. "5.6.dev20201124". * Add GitHub Action workflow for development builds Add another GitHub workflow for development builds. Make it triggered only for now. The version number is generated by the workflow and passed to all builds to make sure all builds have the same development build version. * Add documentation
53 lines
1.6 KiB
Makefile
53 lines
1.6 KiB
Makefile
RELEASE_DIR = /build/release
|
|
|
|
BUILDROOT=/build/buildroot
|
|
BUILDROOT_EXTERNAL=/build/buildroot-external
|
|
DEFCONFIG_DIR = $(BUILDROOT_EXTERNAL)/configs
|
|
VERSION_DATE := $(shell date --utc +'%Y%m%d')
|
|
VERSION_DEV := "dev$(VERSION_DATE)"
|
|
|
|
TARGETS := $(notdir $(patsubst %_defconfig,%,$(wildcard $(DEFCONFIG_DIR)/*_defconfig)))
|
|
TARGETS_CONFIG := $(notdir $(patsubst %_defconfig,%-config,$(wildcard $(DEFCONFIG_DIR)/*_defconfig)))
|
|
|
|
# Set O variable if not already done on the command line
|
|
ifneq ("$(origin O)", "command line")
|
|
O := $(BUILDROOT)/output
|
|
else
|
|
override O := $(BUILDROOT)/$(O)
|
|
endif
|
|
|
|
.NOTPARALLEL: $(TARGETS) $(TARGETS_CONFIG) all
|
|
|
|
.PHONY: $(TARGETS) $(TARGETS_CONFIG) all clean help
|
|
|
|
all: $(TARGETS)
|
|
|
|
$(RELEASE_DIR):
|
|
mkdir -p $(RELEASE_DIR)
|
|
|
|
$(TARGETS_CONFIG): %-config:
|
|
@echo "config $*"
|
|
$(MAKE) -C $(BUILDROOT) BR2_EXTERNAL=$(BUILDROOT_EXTERNAL) "$*_defconfig"
|
|
|
|
$(TARGETS): %: $(RELEASE_DIR) %-config
|
|
@echo "build $@"
|
|
$(MAKE) -C $(BUILDROOT) BR2_EXTERNAL=$(BUILDROOT_EXTERNAL) VERSION_DEV=$(VERSION_DEV)
|
|
cp -f $(O)/images/hassos_* $(RELEASE_DIR)/
|
|
|
|
# Do not clean when building for one target
|
|
ifneq ($(words $(filter $(TARGETS),$(MAKECMDGOALS))), 1)
|
|
@echo "clean $@"
|
|
$(MAKE) -C $(BUILDROOT) BR2_EXTERNAL=$(BUILDROOT_EXTERNAL) clean
|
|
endif
|
|
@echo "finished $@"
|
|
|
|
clean:
|
|
$(MAKE) -C $(BUILDROOT) BR2_EXTERNAL=$(BUILDROOT_EXTERNAL) clean
|
|
|
|
help:
|
|
@echo "Supported targets: $(TARGETS)"
|
|
@echo "Run 'make <target>' to build a target image."
|
|
@echo "Run 'make all' to build all target images."
|
|
@echo "Run 'make clean' to clean the build output."
|
|
@echo "Run 'make <target>-config' to configure buildroot for a target."
|