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

* Adjust Home Assistant versioning to prepare for new release strategy With OS 11 we'll create rc pre-releases which will get directly pushed to the beta channel. In contrast, release builds will get directly pushed to the stable channel. Similar to Home Assistant Core we'll create bump commits for all stable and beta releases. This makes sure that the source code matches the built binaries for all releases. The development build will get a generated version. To avoid issues with the new rc builds the dev build version will get injected on source level now. * Apply suggestions from code review
51 lines
1.5 KiB
Makefile
51 lines
1.5 KiB
Makefile
BUILDDIR:=$(shell pwd)
|
|
|
|
BUILDROOT=$(BUILDDIR)/buildroot
|
|
BUILDROOT_EXTERNAL=$(BUILDDIR)/buildroot-external
|
|
DEFCONFIG_DIR = $(BUILDROOT_EXTERNAL)/configs
|
|
|
|
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 := $(BUILDDIR)/output
|
|
else
|
|
override O := $(BUILDDIR)/$(O)
|
|
endif
|
|
|
|
.NOTPARALLEL: $(TARGETS) $(TARGETS_CONFIG) all
|
|
|
|
.PHONY: $(TARGETS) $(TARGETS_CONFIG) all clean help
|
|
|
|
all: $(TARGETS)
|
|
|
|
savedefconfig:
|
|
@echo "config $*"
|
|
$(MAKE) -C $(BUILDROOT) O=$(O) BR2_EXTERNAL=$(BUILDROOT_EXTERNAL) "savedefconfig"
|
|
|
|
$(TARGETS_CONFIG): %-config:
|
|
@echo "config $*"
|
|
$(MAKE) -C $(BUILDROOT) O=$(O) BR2_EXTERNAL=$(BUILDROOT_EXTERNAL) "$*_defconfig"
|
|
|
|
$(TARGETS): %: %-config
|
|
@echo "build $@"
|
|
$(MAKE) -C $(BUILDROOT) O=$(O) BR2_EXTERNAL=$(BUILDROOT_EXTERNAL)
|
|
|
|
# Do not clean when building for one target
|
|
ifneq ($(words $(filter $(TARGETS),$(MAKECMDGOALS))), 1)
|
|
@echo "clean $@"
|
|
$(MAKE) -C $(BUILDROOT) O=$(O) BR2_EXTERNAL=$(BUILDROOT_EXTERNAL) clean
|
|
endif
|
|
@echo "finished $@"
|
|
|
|
clean:
|
|
$(MAKE) -C $(BUILDROOT) O=$(O) 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."
|