zephyr/Makefile.inc
Anas Nashif 6327f45f25 run defconfig if we have no .config
Change-Id: Ic9f3eb3736721bed3434f934081704343f4d17f1

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:06 -05:00

57 lines
1.3 KiB
Makefile

PROJECT_BASE = $(shell pwd)
ARCH?=x86
export ARCH VPFILE
CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
else if [ -x /bin/bash ]; then echo /bin/bash; \
else echo sh; fi ; fi)
all: FORCE mergeconfig
$(Q)$(MAKE) -C $(TIMO_BASE) O=$(PROJECT_BASE) \
PROJECT=$(PROJECT_BASE)
rm-files:= final-linker.cmd linker.cmd modules.order \
staticIdt.o System.map *kernel.lnk \
*kernel.map *kernel.elf
rm-dirs := arch drivers include kernel lib misc \
scripts source
clean: FORCE
$(shell rm $(rm-files) -f)
$(shell rm $(rm-dirs) -rf)
mrproper: clean
$(Q)$(MAKE) -C $(TIMO_BASE) \
PROJECT=$(PROJECT_BASE) mrproper
%config: FORCE
$(Q)$(MAKE) -C $(TIMO_BASE) O=$(PROJECT_BASE) \
PROJECT=$(PROJECT_BASE) $@
qemu: FORCE mergeconfig
$(Q)$(MAKE) -C $(TIMO_BASE) O=$(PROJECT_BASE) \
PROJECT=$(PROJECT_BASE) qemu
cmd_defconfig = \
$(Q)test -s .config || $(MAKE) defconfig
cmd_merge_config = set -e; \
$(call cmd_defconfig) \
$(Q)test -s $(PROJECT_BASE)/prj_$(ARCH).conf || \
$(Q)$(CONFIG_SHELL) $(TIMO_BASE)/scripts/kconfig/merge_config.sh \
-m -O $(PROJECT_BASE) $(PROJECT_BASE)/.config $(PROJECT_BASE)/prj_$(ARCH).conf
mergeconfig:
$(call cmd_merge_config)
$(Q)yes "" | $(MAKE) -C $(TIMO_BASE) O=$(PROJECT_BASE) \
PROJECT=$(PROJECT_BASE) oldconfig
PHONY += FORCE
FORCE:
.PHONY: $(PHONY)