summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorChe-Liang Chiou <clchiou@chromium.org>2010-11-30 09:30:45 +0800
committerChe-Liang Chiou <clchiou@chromium.org>2010-11-30 09:30:45 +0800
commit0a0e8d0bb26c951a895c5034a4c1c12f3d4e8707 (patch)
tree927f4d93e6998d75cbda2bac1835f85cffadd963 /Makefile
parent3430b32667937a75c7a3afc83f8f7a601a8187f7 (diff)
downloadvboot-0a0e8d0bb26c951a895c5034a4c1c12f3d4e8707.tar.gz
Add firmware build mode to Makefiles
This CL also includes a biosincludes.h for ARM platform. The changes to ebuilds are in a separated CL:5352002. BUG=None TEST=Run 'make' and 'make FIRMWARE_ARCH=arm' successfully Review URL: http://codereview.chromium.org/5301004 Change-Id: I76738972a8215e346910a76a664a91f6f6927747
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile18
1 files changed, 17 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 15ef6381..36250fb6 100644
--- a/Makefile
+++ b/Makefile
@@ -2,14 +2,22 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+export FIRMWARE_ARCH
+
export CC ?= gcc
export CXX ?= g++
+ifeq ($(FIRMWARE_ARCH),)
export CFLAGS = -Wall -Werror -DCHROMEOS_ENVIRONMENT
+else
+export CFLAGS = -Wall -Werror
+endif
+
ifeq (${DEBUG},)
CFLAGS += -O3
else
CFLAGS += -O0 -g -DVBOOT_DEBUG
endif
+
ifeq (${DISABLE_NDEBUG},)
CFLAGS += -DNDEBUG
endif
@@ -17,13 +25,21 @@ endif
export TOP = $(shell pwd)
export FWDIR=$(TOP)/firmware
export HOSTDIR=$(TOP)/host
+ifeq ($(FIRMWARE_ARCH),)
export INCLUDES = -I$(FWDIR)/include -I$(FWDIR)/stub/include
+else
+export INCLUDES = -I$(FWDIR)/include -I$(FWDIR)/arch/$(FIRMWARE_ARCH)/include
+endif
export BUILD = ${TOP}/build
export FWLIB = ${BUILD}/vboot_fw.a
export HOSTLIB = ${BUILD}/vboot_host.a
+ifeq ($(FIRMWARE_ARCH),)
SUBDIRS = firmware host utility cgpt tests tests/tpm_lite
+else
+SUBDIRS = firmware
+endif
all:
set -e; \
@@ -34,7 +50,7 @@ all:
mkdir -p $$newdir; \
fi; \
done; \
- make -C utility update_tlcl_structures; \
+ [ -z "$(FIRMWARE_ARCH)" ] && make -C utility update_tlcl_structures; \
for i in $(SUBDIRS); do \
make -C $$i; \
done