AGESA stub 00730F01: Add config.h and kconfig.h to Makefile.inc

The static library builder for the stub that interfaces to the
AGESA binary does not include config.h and kconfig.h, so any
header file changes that depend on Kconfig variables fail.  Force
these two system headers to be included in the build of any AGESA
stub files.

Signed-off-by: Bruce Griffith <Bruce.Griffith@se-eng.com>
Change-Id: I2e8d38fa5aa21cc31b995ee3abe68ab3c3c55a68
Reviewed-on: http://review.coreboot.org/6979
Reviewed-by: Martin Roth <gaumless@gmail.com>
Tested-by: build bot (Jenkins)
This commit is contained in:
Bruce Griffith 2014-09-25 16:45:45 -06:00
parent b9a0809fae
commit 2c0f46afbb
1 changed files with 26 additions and 15 deletions

View File

@ -33,7 +33,7 @@ AGESA_ROOT = $(call strip_quotes,$(src)/../$(CONFIG_AGESA_BINARY_PI_PATH))
AGESA_INC = -I$(obj) AGESA_INC = -I$(obj)
AGESA_INC += -Isrc/mainboard/$(MAINBOARDDIR) AGESA_INC += -I$(src)/mainboard/$(MAINBOARDDIR)
AGESA_INC += -I$(AGESA_ROOT)/binaryPI AGESA_INC += -I$(AGESA_ROOT)/binaryPI
AGESA_INC += -I$(AGESA_ROOT) AGESA_INC += -I$(AGESA_ROOT)
AGESA_INC += -I$(AGESA_ROOT)/Include AGESA_INC += -I$(AGESA_ROOT)/Include
@ -49,29 +49,40 @@ AGESA_INC += -I$(AGESA_ROOT)/Proc/Fch/Common
AGESA_INC += -I$(src)/southbridge/amd/agesa/hudson AGESA_INC += -I$(src)/southbridge/amd/agesa/hudson
AGESA_INC += -Isrc/arch/x86/include AGESA_INC += -I$(src)/arch/x86/include
AGESA_INC += -Isrc/include AGESA_INC += -I$(src)/include
CFLAGS_x86_32 += -march=amdfam10 -mno-3dnow -fno-zero-initialized-in-bss -fno-strict-aliasing AGESA_CFLAGS += -march=amdfam10 -mno-3dnow -fno-zero-initialized-in-bss -fno-strict-aliasing
CFLAGS_x86_32 += $(AGESA_CFLAGS)
export AGESA_ROOT := $(AGESA_ROOT) export AGESA_ROOT := $(AGESA_ROOT)
export AGESA_INC := $(AGESA_INC) export AGESA_INC := $(AGESA_INC)
export AGESA_CFLAGS := $(AGESA_CFLAGS) export AGESA_CFLAGS := $(AGESA_CFLAGS)
CC_bootblock := $(CC_bootblock) $(AGESA_INC) $(AGESA_CFLAGS) CC_bootblock := $(CC_bootblock) $(AGESA_INC) $(AGESA_CFLAGS)
CC_romstage := $(CC_romstage) $(AGESA_INC) $(AGESA_CFLAGS) CC_romstage := $(CC_romstage) $(AGESA_INC) $(AGESA_CFLAGS)
CC_ramstage := $(CC_ramstage) $(AGESA_INC) $(AGESA_CFLAGS) CC_ramstage := $(CC_ramstage) $(AGESA_INC) $(AGESA_CFLAGS)
CC_x86_32 := $(CC_x86_32) $(AGESA_INC) $(AGESA_CFLAGS) CC_x86_32 := $(CC_x86_32) $(AGESA_INC) $(AGESA_CFLAGS)
####################################################################### #######################################################################
define create_agesa_cp_template define create_agesa_cp_template
# $1 AGESA source file # $1 AGESA source file
# $2 AGESA copy-to location # $2 AGESA copy-to location
$(agesa_obj_path)/$1: $2 $(agesa_src_path)/$(notdir $2): $2 $(agesa_src_path)
@printf " AGESA Copying $$(notdir $$(@F)) => $$(@D)\n" @printf " AGESA Copying $$(notdir $2) => $$(@D)\n"
cp -pf $$? $$(@D) if [ ! -r $(agesa_src_path)/$(notdir $2) ]; then \
cp -uf $2 $$(@D); \
fi
libAgesa.$1: $(agesa_obj_path) $(agesa_obj_path)/$1 $(agesa_obj_path)/$1.libagesa.o: $(agesa_src_path)/$(notdir $2) $(obj)/config.h $(src)/include/kconfig.h $(agesa_obj_path)
@printf " CC $(subst $(agesa_obj_path)/,,$$(@))\n"
$(CC_libagesa) -c -MMD $(CFLAGS_libagesa) $(AGESA_CFLAGS) \
$(AGESA_INC) \
-include $(obj)/config.h -include $(src)/include/kconfig.h \
-o $$@ \
$(agesa_src_path)/$(notdir $2)
endef endef
@ -82,18 +93,18 @@ classes-$(CONFIG_CPU_AMD_AGESA_BINARY_PI) += libagesa
$(eval $(call create_class_compiler,libagesa,x86_32)) $(eval $(call create_class_compiler,libagesa,x86_32))
agesa_src_files := $(strip $(sort $(foreach file,$(strip $(agesa_raw_files)),$(call strip_quotes,$(file))))) agesa_src_files := $(strip $(sort $(foreach file,$(strip $(agesa_raw_files)),$(call strip_quotes,$(file)))))
agesa_obj_path := $(strip $(obj)/agesa) agesa_obj_path := $(strip $(obj)/vendorcode/amd)
agesa_src_path := $(strip $(obj)/agesa)
agesa_src_copies := $(strip $(foreach file,$(agesa_src_files),$(agesa_obj_path)/$(notdir $(file)))) agesa_src_copies := $(strip $(foreach file,$(agesa_src_files),$(agesa_obj_path)/$(notdir $(file))))
agesa_obj_copies := $(strip $(agesa_src_copies:.c=.libagesa.o)) agesa_obj_copies := $(strip $(agesa_src_copies:.c=.libagesa.o))
$(agesa_src_path):
mkdir -p $@
$(agesa_obj_path): $(agesa_obj_path):
mkdir $@ mkdir -p $@
$(foreach file,$(strip $(agesa_src_files)),$(eval $(call create_agesa_cp_template,$(notdir $(file)),$(file)))) $(foreach file,$(strip $(agesa_src_files)),$(eval $(call create_agesa_cp_template,$(basename $(notdir $(file))),$(file))))
$(agesa_obj_path)/%.libagesa.o: libAgesa.%.c
@printf " CC $(subst $(agesa_obj_path)/,,$(@))\n"
$(CC_libagesa) -MMD $(CFLAGS_libagesa) $(AGESA_INC) -c -o $@ $(agesa_obj_path)/$*.c
$(obj)/agesa/libagesa.00730F01.a: $(agesa_obj_copies) $(obj)/agesa/libagesa.00730F01.a: $(agesa_obj_copies)
@printf " AGESA $(subst $(agesa_obj_path)/,,$(@))\n" @printf " AGESA $(subst $(agesa_obj_path)/,,$(@))\n"