Makefile revision 856e072e8119cab07fd884e54853f1c3897452ee
1322536d2f9d30f42218cc9f2ab40574557da8a9Gaurav Shah# Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 2322536d2f9d30f42218cc9f2ab40574557da8a9Gaurav Shah# Use of this source code is governed by a BSD-style license that can be 3322536d2f9d30f42218cc9f2ab40574557da8a9Gaurav Shah# found in the LICENSE file. 4322536d2f9d30f42218cc9f2ab40574557da8a9Gaurav Shah 50a0e8d0bb26c951a895c5034a4c1c12f3d4e8707Che-Liang Chiouexport FIRMWARE_ARCH 60a0e8d0bb26c951a895c5034a4c1c12f3d4e8707Che-Liang Chiou 727bfc8be07935ccb0dab251c5d084c64830163c2Gaurav Shahexport CC ?= gcc 8f1372d9109d638fbb1a177a89ebaf64e7ee0637eBill Richardsonexport CXX ?= g++ 99f1973e271937f8b494c9f247f40dafd7a80b58bChris Sosaexport CFLAGS = -Wall -Werror 10440ad516c4840882557bfb76ddf497ea0041fc03Che-Liang Chiou 119f1973e271937f8b494c9f247f40dafd7a80b58bChris Sosaifeq (${DEBUG},) 129f1973e271937f8b494c9f247f40dafd7a80b58bChris SosaCFLAGS += -O3 139f1973e271937f8b494c9f247f40dafd7a80b58bChris Sosaelse 1434be8273e0fb80a6654deab650e581b0dc9046a4Che-Liang ChiouCFLAGS += -O0 -g 1534be8273e0fb80a6654deab650e581b0dc9046a4Che-Liang Chiouendif 1634be8273e0fb80a6654deab650e581b0dc9046a4Che-Liang Chiou 1734be8273e0fb80a6654deab650e581b0dc9046a4Che-Liang Chiou# Override CC and CFLAGS only if FIRMWARE_CONFIG_PATH is not empty, but we 1834be8273e0fb80a6654deab650e581b0dc9046a4Che-Liang Chiou# wish to preserve -D flags (so move all -D flags after this). 1934be8273e0fb80a6654deab650e581b0dc9046a4Che-Liang Chiouifneq (${FIRMWARE_CONFIG_PATH},) 2034be8273e0fb80a6654deab650e581b0dc9046a4Che-Liang Chiouinclude ${FIRMWARE_CONFIG_PATH} 2134be8273e0fb80a6654deab650e581b0dc9046a4Che-Liang Chiouendif 2234be8273e0fb80a6654deab650e581b0dc9046a4Che-Liang Chiou 2334be8273e0fb80a6654deab650e581b0dc9046a4Che-Liang Chiouifeq ($(FIRMWARE_ARCH),) 2434be8273e0fb80a6654deab650e581b0dc9046a4Che-Liang ChiouCFLAGS += -DCHROMEOS_ENVIRONMENT 2534be8273e0fb80a6654deab650e581b0dc9046a4Che-Liang Chiouendif 2634be8273e0fb80a6654deab650e581b0dc9046a4Che-Liang Chiou 2734be8273e0fb80a6654deab650e581b0dc9046a4Che-Liang Chiouifneq (${DEBUG},) 2834be8273e0fb80a6654deab650e581b0dc9046a4Che-Liang ChiouCFLAGS += -DVBOOT_DEBUG 29b2b0fcc0f62fadce6f854bf14826a9778c0f7632vbendebendif 300a0e8d0bb26c951a895c5034a4c1c12f3d4e8707Che-Liang Chiou 31b2b0fcc0f62fadce6f854bf14826a9778c0f7632vbendebifeq (${DISABLE_NDEBUG},) 32b2b0fcc0f62fadce6f854bf14826a9778c0f7632vbendebCFLAGS += -DNDEBUG 33b2b0fcc0f62fadce6f854bf14826a9778c0f7632vbendebendif 34b2b0fcc0f62fadce6f854bf14826a9778c0f7632vbendeb 357ca31f3e4d21bb7dfa39e1e4b9ab42c7047e66d8Gaurav Shahexport TOP = $(shell pwd) 36620c38cf34eadcd222535b01fb71c5e9fbc1cb80Randall Spanglerexport FWDIR=$(TOP)/firmware 37d183644564ec27c106a3eb1931f565fae167a058Randall Spanglerexport HOSTDIR=$(TOP)/host 380a0e8d0bb26c951a895c5034a4c1c12f3d4e8707Che-Liang Chiouifeq ($(FIRMWARE_ARCH),) 39d0dae7a4388139161c56e5b3c37a6e079f9558fdRandall Spanglerexport INCLUDES = -I$(FWDIR)/include -I$(FWDIR)/stub/include 400a0e8d0bb26c951a895c5034a4c1c12f3d4e8707Che-Liang Chiouelse 410a0e8d0bb26c951a895c5034a4c1c12f3d4e8707Che-Liang Chiouexport INCLUDES = -I$(FWDIR)/include -I$(FWDIR)/arch/$(FIRMWARE_ARCH)/include 420a0e8d0bb26c951a895c5034a4c1c12f3d4e8707Che-Liang Chiouendif 43322536d2f9d30f42218cc9f2ab40574557da8a9Gaurav Shah 4470e9509a2748c0ee8646d77f2a0e6fcbb1446505vbendebexport BUILD = ${TOP}/build 4570e9509a2748c0ee8646d77f2a0e6fcbb1446505vbendebexport FWLIB = ${BUILD}/vboot_fw.a 4689678602e66df24dea75b384ce079519cb8ec2a4Che-Liang Chiouexport HOSTLIB = ${BUILD}/vboot_host.a 470b8f35c6a56a0e645254dd7f07ca68e01c8ee629Bill Richardson 480a0e8d0bb26c951a895c5034a4c1c12f3d4e8707Che-Liang Chiouifeq ($(FIRMWARE_ARCH),) 4939f66114c03639715cb88774255f066a2d942557Randall SpanglerSUBDIRS = firmware host utility cgpt tests tests/tpm_lite 500a0e8d0bb26c951a895c5034a4c1c12f3d4e8707Che-Liang Chiouelse 510a0e8d0bb26c951a895c5034a4c1c12f3d4e8707Che-Liang ChiouSUBDIRS = firmware 520a0e8d0bb26c951a895c5034a4c1c12f3d4e8707Che-Liang Chiouendif 53322536d2f9d30f42218cc9f2ab40574557da8a9Gaurav Shah 54322536d2f9d30f42218cc9f2ab40574557da8a9Gaurav Shahall: 55b31ddcec6a826986cd215725bf4defbc6021fe6bLouis Yung-Chieh Lo set -e; \ 5670e9509a2748c0ee8646d77f2a0e6fcbb1446505vbendeb for d in $(shell find ${SUBDIRS} -name '*.c' -exec dirname {} \; |\ 5770e9509a2748c0ee8646d77f2a0e6fcbb1446505vbendeb sort -u); do \ 5870e9509a2748c0ee8646d77f2a0e6fcbb1446505vbendeb newdir=${BUILD}/$$d; \ 5970e9509a2748c0ee8646d77f2a0e6fcbb1446505vbendeb if [ ! -d $$newdir ]; then \ 6070e9509a2748c0ee8646d77f2a0e6fcbb1446505vbendeb mkdir -p $$newdir; \ 6170e9509a2748c0ee8646d77f2a0e6fcbb1446505vbendeb fi; \ 625896b9664d088699e246de964a7c374af663a34eLuigi Semenzato done; \ 630a0e8d0bb26c951a895c5034a4c1c12f3d4e8707Che-Liang Chiou [ -z "$(FIRMWARE_ARCH)" ] && make -C utility update_tlcl_structures; \ 64322536d2f9d30f42218cc9f2ab40574557da8a9Gaurav Shah for i in $(SUBDIRS); do \ 65b31ddcec6a826986cd215725bf4defbc6021fe6bLouis Yung-Chieh Lo make -C $$i; \ 66322536d2f9d30f42218cc9f2ab40574557da8a9Gaurav Shah done 67322536d2f9d30f42218cc9f2ab40574557da8a9Gaurav Shah 68322536d2f9d30f42218cc9f2ab40574557da8a9Gaurav Shahclean: 6970e9509a2748c0ee8646d77f2a0e6fcbb1446505vbendeb /bin/rm -rf ${BUILD} 70371df8bbbf9088dc1206701bdc2294d9598bb339Bill Richardson 71371df8bbbf9088dc1206701bdc2294d9598bb339Bill Richardsoninstall: 72371df8bbbf9088dc1206701bdc2294d9598bb339Bill Richardson $(MAKE) -C utility install 73f1372d9109d638fbb1a177a89ebaf64e7ee0637eBill Richardson $(MAKE) -C cgpt install 74e642198b93cf2c50e279a6598f21f69564b13c6fGaurav Shah 75e642198b93cf2c50e279a6598f21f69564b13c6fGaurav Shahruntests: 76e642198b93cf2c50e279a6598f21f69564b13c6fGaurav Shah $(MAKE) -C tests runtests 7718b814d9bc7fcf0a7e5d7fca57eed8229f0e9aacLuigi Semenzato 7818b814d9bc7fcf0a7e5d7fca57eed8229f0e9aacLuigi Semenzatorbtest: 7918b814d9bc7fcf0a7e5d7fca57eed8229f0e9aacLuigi Semenzato $(MAKE) -C tests rbtest 80856e072e8119cab07fd884e54853f1c3897452eeBill Richardson 81856e072e8119cab07fd884e54853f1c3897452eeBill Richardsonrunbmptests: 82856e072e8119cab07fd884e54853f1c3897452eeBill Richardson $(MAKE) -C tests runbmptests 83