When the vendor common libraries exists, then board should be able to
reference headers located from a generic base, rather than having to
do weird logic such as '#include "../common/xyz.h"'.

There are multiple options of implementation, the current strategy
expects that:
a) Vendor boards that need generic files will define build in:
        board/$(VENDOR)/common
b) Vendor boards that expose generic functions from (a) for usage
from other board specific files will provide these headers in:
        board/$(VENDOR)/common/include/board-common
c) Vendor board files that need these function services will refer
        #include <board-common/xyz.h>
        Where, xyz.h is an example header exposing generic vendor common
        functions.

Cc: Simon Glass <s...@chromium.org>
Cc: Tom Rini <tr...@konsulko.com>
Cc: Masahiro Yamada <yamada.masah...@socionext.com>
Cc: Daniel Schwierzeck <daniel.schwierz...@gmail.com>
Cc: Michal Marek <mma...@suse.cz>
Cc: Stefan Roese <s...@denx.de>
Cc: Bin Meng <bmeng...@gmail.com>

Signed-off-by: Nishanth Menon <n...@ti.com>
---
 Makefile | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Makefile b/Makefile
index 61050adb13f5..e7a3e2b4de51 100644
--- a/Makefile
+++ b/Makefile
@@ -626,6 +626,9 @@ c_flags := $(KBUILD_CFLAGS) $(cpp_flags)
 # U-Boot objects....order is important (i.e. start must be first)
 
 HAVE_VENDOR_COMMON_LIB = $(if $(wildcard 
$(srctree)/board/$(VENDOR)/common/Makefile),y,n)
+# Include vendor headers - they should be in the following location.
+# board/$(VENDOR)/common/include/board-common
+UBOOTINCLUDE += $(if $(HAVE_VENDOR_COMMON_LIB:y=1), 
-I$(srctree)/board/$(VENDOR)/common/include)
 
 libs-y += lib/
 libs-$(HAVE_VENDOR_COMMON_LIB) += board/$(VENDOR)/common/
-- 
2.6.2.402.g2635c2b
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to