[make] allow passing a default project to build if none specified and set the build output root

Change-Id: I5241108517be250535329513996c844f68073564
This commit is contained in:
Travis Geiselbrecht
2014-08-08 16:25:59 -07:00
parent fc898a85d6
commit 0780dc8782
2 changed files with 16 additions and 2 deletions

View File

@@ -2,7 +2,7 @@ LOCAL_MAKEFILE:=$(MAKEFILE_LIST)
ifeq ($(MAKECMDGOALS),spotless)
spotless:
rm -rf build-*
rm -rf -- build-*
else
ifndef LKROOT
@@ -32,8 +32,13 @@ endif
ifeq ($(do-nothing),)
ifeq ($(PROJECT),)
ifneq ($(DEFAULT_PROJECT),)
PROJECT := $(DEFAULT_PROJECT)
else
$(error No project specified. Use "make projectname" or put "PROJECT := projectname" in local.mk)
endif
endif
DEBUG ?= 2

View File

@@ -5,13 +5,22 @@
LKMAKEROOT ?= .
LKROOT ?= .
LKINC ?=
BUILDROOT ?= .
DEFAULT_PROJECT ?=
TOOLCHAIN_PREFIX ?=
LKINC := $(LKROOT) $(LKINC)
export LKMAKEROOT
export LKROOT
export LKINC
export BUILDROOT
export DEFAULT_PROJECT
export TOOLCHAIN_PREFIX
# vaneer makefile that calls into the engine with lk as the build root
# if we're the top level invocation, call ourselves with additional args
$(MAKECMDGOALS) _top:
TOOLCHAIN_PREFIX=$(TOOLCHAIN_PREFIX) LKROOT=$(LKROOT) LKINC="$(LKINC)" $(MAKE) -C $(LKMAKEROOT) -rR -f $(LKROOT)/engine.mk $(addprefix -I,$(LKINC)) $(MAKECMDGOALS)
@$(MAKE) -C $(LKMAKEROOT) -rR -f $(LKROOT)/engine.mk $(addprefix -I,$(LKINC)) $(MAKECMDGOALS)
.PHONY: _top