## This is Architecture independant part of the makefile
uses HAVE_OPTION_TABLE
+uses CONFIG_AP_CODE_IN_CAR
makedefine CPP:= $(CC) -x assembler-with-cpp -DASSEMBLY -E
makedefine LIBGCC_FILE_NAME := $(shell $(CC) -print-libgcc-file-name)
-makedefine GCC_INC_DIR := $(shell $(CC) -print-search-dirs | sed -ne "s/install: \(.*\)/\1include/gp")
+makedefine GCC_INC_DIR := $(shell LC_ALL=C $(CC) -print-search-dirs | sed -ne "s/install: \(.*\)/\1include/gp")
makedefine CPPFLAGS := -I$(TOP)/src/include -I$(TOP)/src/arch/$(ARCH)/include -I$(GCC_INC_DIR) $(CPUFLAGS)
-makedefine ROMCCPPFLAGS := -D__ROMCC__=0 -D__ROMCC_MINOR__=64
-makedefine CFLAGS := $(CPU_OPT) $(CPPFLAGS) -Os -nostdinc -nostdlib -fno-builtin -Wall
+makedefine CFLAGS := $(CPU_OPT) $(DISTRO_CFLAGS) $(CPPFLAGS) -Os -nostdinc -nostdlib -fno-builtin -Wall
makedefine HOSTCFLAGS:= -Os -Wall
makerule ldscript.ld
depends "ldoptions $(LDSUBSCRIPTS-1)"
- action "echo \"INCLUDE ldoptions\" > $@ ; for file in $(LDSUBSCRIPTS-1) ; do echo \"INCLUDE $$file\" >> $@ ; done"
+ action "echo '/*ldoptions*/' > $@; cat ldoptions >> $@ ; for file in $(LDSUBSCRIPTS-1) ; do echo /\* $$file \*/ >> $@; cat $$file >> $@ ; done"
end
#makerule cpuflags
# action "perl -e 'foreach $$var (split(\" \", $$ENV{VARIABLES})) { if ($$ENV{$$var} =~ m/^(0x[0-9a-fA-F]+|0[0-7]+|[0-9]+)$$/) { print \"$$var = $$ENV{$$var};\n\"; }}' > $@"
#end
-makerule linuxbios.strip
- depends "linuxbios"
- action "$(OBJCOPY) -O binary linuxbios linuxbios.strip"
+makerule coreboot.strip
+ depends "coreboot"
+ action "$(OBJCOPY) -O binary coreboot coreboot.strip"
end
-makerule linuxbios_ram.o
- depends "$(DRIVER) linuxbios.a $(LIBGCC_FILE_NAME)"
- action "$(CC) -nostdlib -r -o $@ c_start.o $(DRIVER) linuxbios.a $(LIBGCC_FILE_NAME)"
+makerule coreboot.a
+ depends "$(OBJECTS)"
+ action "rm -f coreboot.a"
+ action "$(CROSS_COMPILE)ar cr coreboot.a $(OBJECTS)"
end
-makerule linuxbios_ram
- depends "linuxbios_ram.o $(TOP)/src/config/linuxbios_ram.ld ldoptions"
- action "$(CC) -nostdlib -nostartfiles -static -o $@ -T $(TOP)/src/config/linuxbios_ram.ld linuxbios_ram.o"
- action "$(CROSS_COMPILE)nm -n linuxbios_ram | sort > linuxbios_ram.map"
+
+makerule coreboot_ram.o
+ depends "$(DRIVER) coreboot.a $(LIBGCC_FILE_NAME)"
+ action "$(CC) $(DISTRO_LFLAGS) -nostdlib -r -o $@ c_start.o $(DRIVER) coreboot.a $(LIBGCC_FILE_NAME)"
+end
+
+makerule coreboot_ram
+ depends "coreboot_ram.o $(TOP)/src/config/coreboot_ram.ld ldoptions"
+ action "$(CC) $(DISTRO_LFLAGS) -nostdlib -nostartfiles -static -o $@ -T $(TOP)/src/config/coreboot_ram.ld coreboot_ram.o"
+ action "$(CROSS_COMPILE)nm -n coreboot_ram | sort > coreboot_ram.map"
end
##
-## By default compress the part of linuxbios that runs from RAM
+## By default compress the part of coreboot that runs from RAM
##
-makedefine LINUXBIOS_RAM-$(CONFIG_COMPRESS):=linuxbios_ram.nrv2b
-makedefine LINUXBIOS_RAM-$(CONFIG_UNCOMPRESSED):=linuxbios_ram.bin
+makedefine COREBOOT_RAM-$(CONFIG_COMPRESS):=coreboot_ram.nrv2b
+makedefine COREBOOT_RAM-$(CONFIG_UNCOMPRESSED):=coreboot_ram.bin
-makerule linuxbios_ram.bin
- depends "linuxbios_ram"
+makerule coreboot_ram.bin
+ depends "coreboot_ram"
action "$(OBJCOPY) -O binary $< $@"
end
-makerule linuxbios_ram.nrv2b
- depends "linuxbios_ram.bin nrv2b"
+makerule coreboot_ram.nrv2b
+ depends "coreboot_ram.bin nrv2b"
action "./nrv2b e $< $@"
end
-makerule linuxbios_ram.rom
- depends "$(LINUXBIOS_RAM-1)"
- action "cp $(LINUXBIOS_RAM-1) linuxbios_ram.rom"
+makerule coreboot_ram.rom
+ depends "$(COREBOOT_RAM-1)"
+ action "cp $(COREBOOT_RAM-1) coreboot_ram.rom"
end
-makerule linuxbios
- depends "crt0.o $(INIT-OBJECTS) linuxbios_ram.rom ldscript.ld"
- action "$(CC) -nostdlib -nostartfiles -static -o $@ -T ldscript.ld crt0.o $(INIT-OBJECTS)"
- action "$(CROSS_COMPILE)nm -n linuxbios | sort > linuxbios.map"
+makedefine COREBOOT_APC:=
+
+if CONFIG_AP_CODE_IN_CAR
+ #for ap code in cache
+
+ makerule coreboot_apc.a
+ depends "apc_auto.o"
+ action "rm -f coreboot_apc.a"
+ action "$(CROSS_COMPILE)ar cr coreboot_apc.a apc_auto.o"
+ end
+
+ makerule coreboot_apc.o
+ depends "coreboot_apc.a c_start.o $(LIBGCC_FILE_NAME)"
+ action "$(CC) $(DISTRO_LFLAGS) -nostdlib -r -o $@ c_start.o coreboot_apc.a $(LIBGCC_FILE_NAME)"
+ end
+
+ makerule coreboot_apc
+ depends "coreboot_apc.o $(TOP)/src/config/coreboot_apc.ld ldoptions"
+ action "$(CC) $(DISTRO_LFLAGS) -nostdlib -nostartfiles -static -o $@ -T $(TOP)/src/config/coreboot_apc.ld coreboot_apc.o"
+ action "$(CROSS_COMPILE)nm -n coreboot_apc | sort > coreboot_apc.map"
+ end
+
+ ##
+ ## By default compress the part of coreboot that runs from cache as ram
+ ##
+ makedefine COREBOOT_APC-$(CONFIG_COMPRESS):=coreboot_apc.nrv2b
+ makedefine COREBOOT_APC-$(CONFIG_UNCOMPRESSED):=coreboot_apc.bin
+
+ makerule coreboot_apc.bin
+ depends "coreboot_apc"
+ action "$(OBJCOPY) -O binary $< $@"
+ end
+
+ makerule coreboot_apc.nrv2b
+ depends "coreboot_apc.bin nrv2b"
+ action "./nrv2b e $< $@"
+ end
+
+ makerule coreboot_apc.rom
+ depends "$(COREBOOT_APC-1)"
+ action "cp $(COREBOOT_APC-1) coreboot_apc.rom"
+ end
+
+ makedefine COREBOOT_APC:=coreboot_apc.rom
+
end
-makerule linuxbios.a
- depends "$(OBJECTS)"
- action "rm -f linuxbios.a"
- action "ar cr linuxbios.a $(OBJECTS)"
+makedefine COREBOOT_RAM_ROM:=coreboot_ram.rom
+
+makerule coreboot
+ depends "crt0.o $(INIT-OBJECTS) $(COREBOOT_APC) $(COREBOOT_RAM_ROM) ldscript.ld"
+ action "$(CC) $(DISTRO_LFLAGS) -nostdlib -nostartfiles -static -o $@ -T ldscript.ld crt0.o $(INIT-OBJECTS)"
+ action "$(CROSS_COMPILE)nm -n coreboot | sort > coreboot.map"
end
#makerule crt0.S
depends "$(SOURCES)"
action "ctags $(SOURCES)"
end
+makerule corebootDoc.config
+ depends "$(TOP)/src/config/corebootDoc.config"
+ action "cat $(TOP)/src/config/corebootDoc.config > corebootDoc.config"
+ action "echo 'INPUT=$(SOURCES)' >> corebootDoc.config"
+end
makerule documentation
- depends "$(SOURCES)"
- action "doxygen LinuxBIOSDoc.config"
+ depends "corebootDoc.config"
+ action "doxygen corebootDoc.config"
end
makerule ./romcc
end
makerule build_opt_tbl
- depends "$(TOP)/util/options/build_opt_tbl.c $(TOP)/src/include/pc80/mc146818rtc.h $(TOP)/src/include/boot/linuxbios_tables.h Makefile.settings Makefile"
+ depends "$(TOP)/util/options/build_opt_tbl.c $(TOP)/src/include/pc80/mc146818rtc.h $(TOP)/src/include/boot/coreboot_tables.h Makefile.settings Makefile"
action "$(HOSTCC) $(HOSTCFLAGS) $(CPUFLAGS) $< -o $@"
end
end
makerule clean
- action "rm -f linuxbios.* *~"
- action "rm -f linuxbios"
+ action "rm -f coreboot.* *~"
+ action "rm -f coreboot"
action "rm -f ldscript.ld"
action "rm -f a.out *.s *.l *.o *.E *.inc"
- action "rm -f TAGS tags romcc"
- action "rm -f docipl buildrom chips.c *chip.c linuxbios_ram* linuxbios_pay*"
- action "rm -f build_opt_tbl option_table.c crt0.S"
+ action "rm -f TAGS tags romcc*"
+ action "rm -f docipl buildrom* chips.c *chip.c coreboot_apc* coreboot_ram* coreboot_pay*"
+ action "rm -f build_opt_tbl* nrv2b* option_table.c crt0.S"
end
# do standard config files that the user need not specify