HOSTCXX = g++
HOSTCFLAGS := -I$(srck) -I$(objk) -g
HOSTCXXFLAGS := -I$(srck) -I$(objk)
+LIBGCC_FILE_NAME := $(shell $(CC) -print-libgcc-file-name)
DESTDIR = /opt
# needed objects that every mainboard uses
# Creation of these is architecture and mainboard independent
-$(obj)/mainboard/$(MAINBOARDDIR)/static.c: $(src)/mainboard/$(MAINBOARDDIR)/Config.lb $(obj)/mainboard/$(MAINBOARDDIR)/config.py
+$(obj)/mainboard/$(MAINBOARDDIR)/static.c: $(src)/mainboard/$(MAINBOARDDIR)/devicetree.cb $(obj)/mainboard/$(MAINBOARDDIR)/config.py
mkdir -p $(obj)/mainboard/$(MAINBOARDDIR)
(cd $(obj)/mainboard/$(MAINBOARDDIR) ; PYTHONPATH=$(top)/util/sconfig export PYTHONPATH; python config.py $(MAINBOARDDIR) $(top) $(obj)/mainboard/$(MAINBOARDDIR))
$(eval $(call evaluate_subdirs))
+define c_dsl_template
+$(obj)/$(1)%.c: src/$(1)%.dsl
+ @printf " IASL $$(subst $$(shell pwd)/,,$$(@))\n"
+ iasl -p $$(basename $$@) -tc $$<
+ perl -pi -e 's/AmlCode/AmlCode_$$(notdir $$(basename $$@))/g' $$(basename $$@).hex
+ mv $$(basename $$@).hex $$@
+endef
+
define objs_c_template
$(obj)/$(1)%.o: src/$(1)%.c
@printf " CC $$(subst $$(shell pwd)/,,$$(@))\n"
usetemplate=$(foreach d,$(sort $(dir $($(1)))),$(eval $(call $(1)_$(2)_template,$(subst $(obj)/,,$(d)))))
usetemplate=$(foreach d,$(sort $(dir $($(1)))),$(eval $(call $(1)_$(2)_template,$(subst $(obj)/,,$(d)))))
+$(eval $(call usetemplate,c,dsl))
$(eval $(call usetemplate,objs,c))
$(eval $(call usetemplate,objs,S))
$(eval $(call usetemplate,initobjs,c))
OBJS := $(patsubst %,$(obj)/%,$(TARGETS-y))
INCLUDES := -I$(top)/src -I$(top)/src/include -I$(obj) -I$(top)/src/arch/$(ARCHDIR-y)/include
INCLUDES += -I$(shell $(CC) -print-search-dirs | head -n 1 | cut -d' ' -f2)include
+INCLUDES += -I$(top)/util/x86emu/include
INCLUDES += -include $(obj)/build.h
try-run= $(shell set -e; \
STACKPROTECT += $(call cc-option, -fno-stack-protector,)
-CFLAGS = $(STACKPROTECT) $(INCLUDES) $(MAINBOARD_OPTIONS) -Os -nostdinc
+CFLAGS = $(STACKPROTECT) $(INCLUDES) -Os -nostdinc
CFLAGS += -nostdlib -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes
CFLAGS +=-Wwrite-strings -Wredundant-decls -Wno-trigraphs
-CFLAGS += -Werror-implicit-function-declaration -Wstrict-aliasing -Wshadow
+CFLAGS += -Wstrict-aliasing -Wshadow
CFLAGS += -fno-common -ffreestanding -fno-builtin -fomit-frame-pointer
-CBFS_COMPRESS_FLAG:=
-ifeq ($(CONFIG_COMPRESSED_PAYLOAD_LZMA),y)
CBFS_COMPRESS_FLAG:=l
+CBFS_PAYLOAD_COMPRESS_FLAG:=
+ifeq ($(CONFIG_COMPRESSED_PAYLOAD_LZMA),y)
+CBFS_PAYLOAD_COMPRESS_FLAG:=l
endif
coreboot: prepare prepare2 $(obj)/coreboot.rom