diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..805bc68 --- /dev/null +++ b/Makefile @@ -0,0 +1,127 @@ +######################################## +# Tizen Building Block +######################################## + +RUNNING_MAKE_VERSION := $(MAKE_VERSION) +# Check for minimal make version (note: this check will break at make 10.x) +MIN_MAKE_VERSION = 3.81 +ifneq ($(firstword $(sort $(RUNNING_MAKE_VERSION) $(MIN_MAKE_VERSION))),$(MIN_MAKE_VERSION)) +$(error You have make '$(RUNNING_MAKE_VERSION)' installed. GNU make >= $(MIN_MAKE_VERSION) is required) +endif + +TOPDIR := $(CURDIR) +CONFIG_CONFIG_IN = Config.in +CONFIG = support/kconfig +DATE := $(shell date +%Y%m%d) + +BASE_DIR := $(TOPDIR)/output +BUILD_DIR := $(BASE_DIR)/build +INFO_DIR := $(BASE_DIR)/info +CONFIG_DIR := $(CURDIR) +TBB_CONFIG = $(CONFIG_DIR)/.config + +-include $(TBB_CONFIG) + +export TBB_VERSION := 20171214.5 +export TBB_PLATFORM_VERSION := 4.0 + +# This is our default rule, so must come first +TIC_CONFIG_ENV = \ + TBB_CONFIG=$(TBB_CONFIG) \ + BUILD_DIR=$(BUILD_DIR) \ + INFO_DIR=$(INFO_DIR) \ + TBB_INFO_SNAPSHOT_ID=$(TBB_VERSION) \ + TBB_INFO_PLATFORM_VERSION=$(TBB_PLATFORM_VERSION) \ + TOPDIR=$(TOPDIR) + +ifeq ($(wildcard .config*),) +all: menuconfig +else +all: + @echo "Extract information from $(TBB_CONFIG)..." + @$(TIC_CONFIG_ENV) $(TOPDIR)/support/scripts/extract_info.sh + @echo "Starting to make a image..." + @$(TIC_CONFIG_ENV) $(TOPDIR)/support/scripts/make_image.sh +endif + +HOSTCC := gcc + +$(BUILD_DIR)/buildroot-config/%onf: + mkdir -p $(@D)/lxdialog + $(MAKE) CC="$(HOSTCC)" HOSTCC="$(HOSTCC)" \ + obj=$(@D) -C $(CONFIG) -f Makefile.tbb $(@F) + +menuconfig: $(BUILD_DIR)/buildroot-config/mconf + @$(TIC_CONFIG_ENV) $(TOPDIR)/support/scripts/mk_config_from_xml.sh base + @$(TIC_CONFIG_ENV) $(TOPDIR)/support/scripts/mk_config_from_xml.sh unified + @$(TIC_CONFIG_ENV) $< $(CONFIG_CONFIG_IN) + @test -e $(TBB_CONFIG) || { echo "There is no config file" ; echo "Please igonre error msg."; echo "Done."; exit 1; } + @echo "Extract information from $(TBB_CONFIG)..." + @$(TIC_CONFIG_ENV) $(TOPDIR)/support/scripts/extract_info.sh + @echo "Done" + +nconfig: $(BUILD_DIR)/buildroot-config/nconf + @$(TIC_CONFIG_ENV) $< $(CONFIG_CONFIG_IN) + +%_defconfig: $(BUILD_DIR)/buildroot-config/conf $(TOPDIR)/configs/%_defconfig + @$(TIC_CONFIG_ENV) TBB_DEFCONFIG=$(TOPDIR)/configs/$@ \ + $< --defconfig=$(TOPDIR)/configs/$@ $(CONFIG_CONFIG_IN) + +oldconfig: $(BUILD_DIR)/buildroot-config/conf + @$(TIC_CONFIG_ENV) $< --oldconfig $(CONFIG_CONFIG_IN) + +printvars: + @$(foreach V, \ + $(sort $(if $(VARS),$(filter $(VARS),$(.VARIABLES)),$(.VARIABLES))), \ + $(if $(filter-out environment% default automatic, \ + $(origin $V)), \ + $(info $V=$($V) ($(value $V))))) + +clean: + rm -rf $(BUILD_DIR) $(INFO_DIR) + +distclean: clean + rm -rf $(BASE_DIR) + rm -rf $(TOPDIR)/dl $(TBB_CONFIG) $(CONFIG_DIR)/.config.old $(CONFIG_DIR)/..config.tmp + rm -f $(TOPDIR)/advanced/*base* $(TOPDIR)/advanced/*unified* $(TOPDIR)/advanced/20* + +help: + @echo 'Cleaning:' + @echo ' clean - delete all files created by build' + @echo ' distclean - delete all non-source files (including .config)' + @echo + @echo 'Build:' + @echo ' all - make' + @echo + @echo 'Configuration:' + @echo ' menuconfig - interactive curses-based configurator' + @echo ' nconfig - interactive ncurses-based configurator' + @echo + @echo 'Infomation:' + @echo ' list-defconfigs - list all defconfigs (pre-configured minimal systems)' + @echo ' printvars - list variables' + @echo ' print-version - print version' + @echo + +# List the defconfig files +# $(1): base directory +define list-defconfigs + @first=true; \ + for defconfig in $(1)/configs/*_defconfig; do \ + [ -f "$${defconfig}" ] || continue; \ + if $${first}; then \ + printf "Built-in configs:\n"; \ + first=false; \ + fi; \ + defconfig="$${defconfig##*/}"; \ + printf " %-35s - Build for %s\n" "$${defconfig}" "$${defconfig%_defconfig}"; \ + done; \ + $${first} || printf "\n" +endef + +list-defconfigs: + $(call list-defconfigs,$(TOPDIR)) + +print-version: + @echo $(TBB_VERSION) + |