summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile127
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)
+