summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Hill <ecgh@chromium.org>2018-05-22 18:14:36 -0600
committerchrome-bot <chrome-bot@chromium.org>2018-05-23 16:47:49 -0700
commit6a2939005d99415e6f305c519caf3d3a5774952a (patch)
tree297610d775bbca797065c7afbc61d14ffe0bd43f
parentc4387539f6d3a58fb1ef5f6fb1d8deb12f8f9d7e (diff)
downloadchrome-ec-6a2939005d99415e6f305c519caf3d3a5774952a.tar.gz
genvif: Allow usb_pd_policy.c only in baseboard
Update rules for util/genvif to allow usb_pd_policy.c to be present in just baseboard, or just board, or both. BUG=b:78638238,b:79704826 BRANCH=none TEST=make -j buildall Change-Id: I4e2970a65c131d0681d2159fe2ea18b2639048c9 Signed-off-by: Edward Hill <ecgh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1067751 Reviewed-by: Furquan Shaikh <furquan@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
-rw-r--r--util/build.mk18
1 files changed, 11 insertions, 7 deletions
diff --git a/util/build.mk b/util/build.mk
index 81bdfa3d81..be130c728c 100644
--- a/util/build.mk
+++ b/util/build.mk
@@ -39,19 +39,23 @@ ec_parse_panicinfo-objs=ec_parse_panicinfo.o ec_panicinfo.o
ifeq ($(CONFIG_USB_POWER_DELIVERY),y)
build-util-bin+=genvif
build-util-art+=$(BOARD)_vif.txt
-$(out)/util/genvif: $(out)/util/usb_pd_policy.o board/$(BOARD)/board.h \
+
+# usb_pd_policy.c can be in baseboard, or board, or both.
+genvif-pd-srcs=$(sort $(wildcard $(BASEDIR)/usb_pd_policy.c \
+ board/$(BOARD)/usb_pd_policy.c))
+genvif-pd-objs=$(genvif-pd-srcs:%.c=$(out)/util/%.o)
+deps-$(CONFIG_USB_POWER_DELIVERY) += $(genvif-pd-objs:%.o=%.o.d)
+
+$(out)/util/genvif: $(genvif-pd-objs) board/$(BOARD)/board.h \
include/usb_pd.h include/usb_pd_tcpm.h
-$(out)/util/genvif: BUILD_LDFLAGS+=$(out)/util/usb_pd_policy.o -flto
+$(out)/util/genvif: BUILD_LDFLAGS+=$(genvif-pd-objs) -flto
STANDALONE_FLAGS=-ffreestanding -fno-builtin -nostdinc \
-Ibuiltin/ -D"__keep= " -DVIF_BUILD
-# If baseboard is defined, include its usb_pd_policy; otherwise,
-# $(BASEDIR) will alias to `board/$(BOARD)` and includes same board file twice.
-$(out)/util/usb_pd_policy.o: $(BASEDIR)/usb_pd_policy.c \
- board/$(BOARD)/usb_pd_policy.c
+$(out)/util/%/usb_pd_policy.o: %/usb_pd_policy.c
+ -@ mkdir -p $(@D)
$(call quiet,c_to_vif,BUILDCC)
-deps-$(CONFIG_USB_POWER_DELIVERY) += $(out)/util/usb_pd_policy.o.d
endif # CONFIG_USB_POWER_DELIVERY
ifneq ($(CONFIG_TOUCHPAD_HASH_FW),)