Add uppercase defined constants for BOARD_, CHIP_, etc.

Currently, per-board defines use mixed case (BOARD_pit).  This causes
the presubmit script to complain because that's a style violation.
Using --no-verify to bypass that also allows other style violations to
creep in.

This change adds uppercase variants (BOARD_PIT).  It also adds a CORE_
define with '-' changed to '_', since CORE_cortex-m isn't a valid
symbol but CORE_CORTEX_M is (so now we can #ifdef CORE_CORTEX_M).

This does not remove the old mixed-case defines yet, nor does it
find/replace them in the C source files.  This is intentional, so this
change can be cherry-picked into branches without needing to change
files in the branch that may have picked up new #ifdefs.

I will rename the constants in the C source files and remove the old
mixed-case defines in a follow-on CL, which should not need to get
picked into existing branches.

BUG=chromium:322144
BRANCH=none (but might need it if you later cherry-pick something with
       an uppercase #ifdef BOARD_FOO
TEST=Build each board with V=1 option: 'make V=1 BOARD=foo all tests'.
     Check that the compile command line has both mixed-case and
     uppercase defines.  Check that per-board tests from test/build.mk
     were built (for example, BOARD_PIT should compile kb_scan and
     stress, and BOARD_SAMUS should build none of them).

Change-Id: I5eb0d1fe57f1c694d7449e5f148e2f13fb290a39
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/179205
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
This commit is contained in:
Randall Spangler
2013-12-06 16:20:40 -08:00
committed by chrome-internal-fetch
parent f762717059
commit bc11760a58
3 changed files with 28 additions and 10 deletions

View File

@@ -9,12 +9,13 @@ BOARD ?= bds
PROJECT?=ec
# output directory for build objects
# Output directory for build objects
out?=build/$(BOARD)
include Makefile.toolchain
# Get CHIP name
# The board makefile sets $CHIP. Include it now, since it must be
# defined for _flag_cfg below.
include board/$(BOARD)/build.mk
# Transform the configuration into make variables
@@ -37,16 +38,31 @@ _flag_cfg:=$(shell $(CPP) $(CPPFLAGS) -P -dM -Ichip/$(CHIP) -Iboard/$(BOARD) \
cut -c9- | sort)
$(foreach c,$(_tsk_cfg) $(_flag_cfg),$(eval $(c)=y))
$(eval BOARD_$(BOARD)=y)
# Get build configuration from sub-directories
-include private/build.mk
# Note that this re-includes the board makefile
include board/$(BOARD)/build.mk
include chip/$(CHIP)/build.mk
include core/$(CORE)/build.mk
# Create uppercase config variants, to avoid mixed case constants.
# Also translate '-' to '_', so 'cortex-m' turns into 'CORTEX_M'.
# This must be done after including board/chip/core configs, since we
# want to run 'tr' once per variable instead of once per reference.
uppercase = $(shell echo $(1) | tr '[:lower:]-' '[:upper:]_')
UC_BOARD:=$(call uppercase,$(BOARD))
UC_CHIP:=$(call uppercase,$(CHIP))
UC_CHIP_FAMILY:=$(call uppercase,$(CHIP_FAMILY))
UC_CHIP_VARIANT:=$(call uppercase,$(CHIP_VARIANT))
UC_CORE:=$(call uppercase,$(CORE))
$(eval BOARD_$(UC_BOARD)=y)
include common/build.mk
include driver/build.mk
include power/build.mk
-include private/build.mk
include test/build.mk
include util/build.mk
include util/lock/build.mk

View File

@@ -36,7 +36,9 @@ CFLAGS_DEFINE=-DOUTDIR=$(out) -DCHIP=$(CHIP) -DBOARD_TASKFILE=ec.tasklist \
-DBOARD=$(BOARD) -DBOARD_$(BOARD) -DCORE=$(CORE) \
-DPROJECT=$(PROJECT) -DCHIP_$(CHIP) \
-DCHIP_VARIANT=$(CHIP_VARIANT) -DCHIP_VARIANT_$(CHIP_VARIANT) \
-DCHIP_FAMILY=$(CHIP_FAMILY) -DCHIP_FAMILY_$(CHIP_FAMILY)
-DCHIP_FAMILY=$(CHIP_FAMILY) -DCHIP_FAMILY_$(CHIP_FAMILY) \
-DBOARD_$(UC_BOARD) -DCHIP_$(UC_CHIP) -DCORE_$(UC_CORE) \
-DCHIP_VARIANT_$(UC_CHIP_VARIANT) -DCHIP_FAMILY_$(UC_CHIP_FAMILY)
CPPFLAGS=$(CFLAGS_DEFINE) $(CFLAGS_INCLUDE) $(CFLAGS_TEST) \
$(EXTRA_CFLAGS) $(CFLAGS_COVERAGE)
CFLAGS=$(CPPFLAGS) $(CFLAGS_CPU) $(CFLAGS_DEBUG) $(CFLAGS_WARN) $(CFLAGS_y)

View File

@@ -9,14 +9,14 @@
test-list-y=pingpong timer_calib timer_dos timer_jump mutex utils
#disable: powerdemo
test-list-$(BOARD_bds)+=
test-list-$(BOARD_pit)+=kb_scan stress
test-list-$(BOARD_snow)+=kb_scan stress
test-list-$(BOARD_spring)+=kb_scan stress
test-list-$(BOARD_BDS)+=
test-list-$(BOARD_PIT)+=kb_scan stress
test-list-$(BOARD_SNOW)+=kb_scan stress
test-list-$(BOARD_SPRING)+=kb_scan stress
# Samus has board-specific chipset code, and the tests don't
# compile with it. Disable them for now.
test-list-$(BOARD_samus)=
test-list-$(BOARD_SAMUS)=
# Emulator tests
test-list-host=mutex pingpong utils kb_scan kb_mkbp lid_sw power_button hooks