54 lines
1.7 KiB
Makefile
Vendored
54 lines
1.7 KiB
Makefile
Vendored
_WD := scripts/sstar/release
|
|
_ROOT_DIR := $(subst $(_WD),,$(shell pwd))
|
|
KCONFIG_DIR := $(_ROOT_DIR)scripts/kconfig
|
|
MCONF_BIN := $(KCONFIG_DIR)/mconf
|
|
ARCH_DIR := $(_ROOT_DIR)/arch/arm/mach-sstar/
|
|
KCONFIG := $(_ROOT_DIR)$(_WD)/Kconfig
|
|
DEFAULT_CONFIG := $(_ROOT_DIR)$(_WD)/.config
|
|
RELEASE_SCRIPT := $(_ROOT_DIR)$(_WD)/rel.sh
|
|
# enumerate chip names from $(ARCH_DIR)
|
|
CHIP_LIST := $(sort $(shell find $(ARCH_DIR) -mindepth 1 -maxdepth 1 -type d -exec basename {} \; | xargs))
|
|
|
|
# Kconfig select item template
|
|
CHIP_NAME_TEMP := _CHIP_TEMPLATE_
|
|
ITEM_TEMPLATE := menuconfig $(CHIP_NAME_TEMP)\n\tbool \"SStar SoC platform $(CHIP_NAME_TEMP)\"\n\tdefault n\n
|
|
# replace template string with chip names
|
|
SELECT_ITEMS := $(foreach chip,$(CHIP_LIST),$(subst $(CHIP_NAME_TEMP),$(chip),$(ITEM_TEMPLATE)))
|
|
|
|
.PHONY: all debug autogen menuconfig release
|
|
|
|
all: autogen menuconfig release
|
|
@echo "------------------------------"
|
|
@echo " Cutomer release done!"
|
|
@echo "------------------------------"
|
|
|
|
debug:
|
|
@echo "------------------------------"
|
|
@echo " DEBUG"
|
|
@echo "------------------------------"
|
|
@echo $(_WD)
|
|
@echo $(_ROOT_DIR)
|
|
@echo $(MCONF_BIN)
|
|
@echo $(CHIP_LIST)
|
|
@printf "$(SELECT_ITEMS)"
|
|
|
|
autogen:
|
|
@echo "------------------------------"
|
|
@echo " Auto generate Kconfig..."
|
|
@echo "------------------------------"
|
|
@rm -f $(KCONFIG)
|
|
@rm -f $(DEFAULT_CONFIG)
|
|
@echo "mainmenu \"Customer Release Chips Configuration\"" > $(KCONFIG)
|
|
@printf "$(SELECT_ITEMS)" >> $(KCONFIG)
|
|
@cat $(KCONFIG)
|
|
|
|
menuconfig:
|
|
@$(MCONF_BIN) $(KCONFIG)
|
|
|
|
release:
|
|
@echo "------------------------------"
|
|
@echo " Execute customer release..."
|
|
@echo "------------------------------"
|
|
@$(RELEASE_SCRIPT) $(shell cat .config | grep -e '^# CONFIG_' | sed 's/^# CONFIG_\(.*\) is not set/\1/g')
|
|
|