summaryrefslogtreecommitdiffstats
path: root/Makefile.inc
diff options
context:
space:
mode:
authorHung-Te Lin <hungte@chromium.org>2013-02-01 01:09:24 +0800
committerRonald G. Minnich <rminnich@gmail.com>2013-02-03 05:45:48 +0100
commitfe18792a0887b5ba1ce8e0c8f9f6f1911395552a (patch)
tree5b0ac579e492647b0ab73cce0fcf6b47f636bdf9 /Makefile.inc
parente876819975087654c1d3325928b044acf7f89b20 (diff)
downloadcoreboot-staging-fe18792a0887b5ba1ce8e0c8f9f6f1911395552a.zip
coreboot-staging-fe18792a0887b5ba1ce8e0c8f9f6f1911395552a.tar.gz
armv7: Add 'bootblock' build class.
For ARM platform, the bootblock may need more C source files to initialize UART / SPI for loading romstage. To preventing making complex and implicit dependency by using #include inside bootblock.c, we should add a new build class "bootblock". Also #ifdef __BOOT_BLOCK__ can be used to detect if the source is being compiled for boot block. For x86, the bootblock is limited to fewer assembly files so it's not using this class. (Some files shared by x86 and arm in top level or lib are also changed but nothing should be changed in x86 build process.) Change-Id: Ia81bccc366d2082397d133d9245f7ecb33b8bc8b Signed-off-by: Hung-Te Lin <hungte@chromium.org> Reviewed-on: http://review.coreboot.org/2252 Reviewed-by: Ronald G. Minnich <rminnich@gmail.com> Tested-by: build bot (Jenkins)
Diffstat (limited to 'Makefile.inc')
-rw-r--r--Makefile.inc10
1 files changed, 9 insertions, 1 deletions
diff --git a/Makefile.inc b/Makefile.inc
index 3731797..0b473e4 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -58,7 +58,7 @@ subdirs-y += site-local
#######################################################################
# Add source classes and their build options
-classes-y := ramstage romstage smm cpu_microcode
+classes-y := ramstage romstage bootblock smm cpu_microcode
#######################################################################
# Helper functions for ramstage postprocess
@@ -111,6 +111,9 @@ $(error Your current configuration requires binary-only components, but you did
endif
endif
+bootblock-c-ccopts:=-D__BOOT_BLOCK__
+bootblock-S-ccopts:=-D__BOOT_BLOCK__
+
smm-c-ccopts:=-D__SMM__
smm-S-ccopts:=-D__SMM__
@@ -121,6 +124,7 @@ endif
ramstage-c-deps:=$$(OPTION_TABLE_H)
romstage-c-deps:=$$(OPTION_TABLE_H)
+bootblock-c-deps:=$$(OPTION_TABLE_H)
#######################################################################
# Add handler to compile ACPI's ASL
@@ -286,6 +290,10 @@ $(obj)/%.romstage.o $(abspath $(obj))/%.romstage.o: $(obj)/%.c $(obj)/config.h $
@printf " CC $(subst $(obj)/,,$(@))\n"
$(CC) -MMD -D__PRE_RAM__ $(CFLAGS) -c -o $@ $<
+$(obj)/%.bootblock.o $(abspath $(obj))/%.bootblock.o: $(obj)/%.c $(obj)/config.h $(OPTION_TABLE_H)
+ @printf " CC $(subst $(obj)/,,$(@))\n"
+ $(CC) -MMD -D__BOOT_BLOCK__ $(CFLAGS) -c -o $@ $<
+
#######################################################################
# Clean up rules
clean-abuild:
OpenPOWER on IntegriCloud