blob: ecb3041db41ac8f9994b579a53adf2a01673f4cc [file] [log] [blame]
Stefan Reinauer0fa5d8f2015-06-30 17:09:17 -07001################################################################################
2##
3## This file is part of the coreboot project.
4##
5## Copyright (C) 2009-2010 coresystems GmbH
6## Copyright (C) 2015 Google Inc.
7##
8## This program is free software; you can redistribute it and/or modify
9## it under the terms of the GNU General Public License as published by
10## the Free Software Foundation; version 2 of the License.
11##
12## This program is distributed in the hope that it will be useful,
13## but WITHOUT ANY WARRANTY; without even the implied warranty of
14## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15## GNU General Public License for more details.
16##
Stefan Reinauer0fa5d8f2015-06-30 17:09:17 -070017
Martin Roth7b928cd2015-06-19 20:50:59 -060018######################################################################
19# set up payload config and version files for later inclusion
20ifeq ($(CONFIG_PAYLOAD_SEABIOS),y)
21PAYLOAD_CONFIG=payloads/external/SeaBIOS/seabios/.config
Martin Roth886f4782015-11-28 13:23:48 -070022PAYLOAD_VERSION=payloads/external/SeaBIOS/seabios/out/autoversion.h
Martin Roth7b928cd2015-06-19 20:50:59 -060023endif
24ifeq ($(CONFIG_PAYLOAD_FILO),y)
25PAYLOAD_CONFIG=payloads/external/FILO/filo/.config
26PAYLOAD_VERSION=payloads/external/FILO/filo/build/version.h
27endif
28
Martin Rothd4c24842015-12-16 16:09:11 -070029cbfs-files-$(CONFIG_INCLUDE_CONFIG_FILE) += payload_config
30payload_config-file := $(PAYLOAD_CONFIG)
31payload_config-type := raw
32
33cbfs-files-$(CONFIG_INCLUDE_CONFIG_FILE) += payload_revision
34payload_revision-file := $(PAYLOAD_VERSION)
35payload_revision-type := raw
36
Patrick Georgic9836712015-08-08 21:35:38 +020037SEABIOS_CC_OFFSET=$(if $(filter %ccache,$(HOSTCC)),2,1)
Stefan Reinauer0fa5d8f2015-06-30 17:09:17 -070038seabios:
39 $(MAKE) -C payloads/external/SeaBIOS -f Makefile.inc \
40 HOSTCC="$(HOSTCC)" \
Patrick Georgi41fceaf2015-08-13 21:55:30 +020041 CC=$(word $(SEABIOS_CC_OFFSET),$(CC_x86_32)) CFLAGS="$(patsubst $(word $(SEABIOS_CC_OFFSET),$(CC_x86_32))%,,$(wordlist $(SEABIOS_CC_OFFSET),9999,$(CC_x86_32)))" \
Stefan Reinauer0fa5d8f2015-06-30 17:09:17 -070042 LD=$(word 1,$(LD_x86_32)) LDFLAGS="$(patsubst $(word 1,$(LD_x86_32))%,,$(LD_x86_32))" \
43 OBJDUMP="$(OBJDUMP_x86_32)" \
44 OBJCOPY="$(OBJCOPY_x86_32)" STRIP="$(STRIP_x86_32)" \
45 AS="$(AS_x86_32)" IASL="$(IASL)" \
46 CONFIG_SEABIOS_MASTER=$(CONFIG_SEABIOS_MASTER) \
47 CONFIG_SEABIOS_STABLE=$(CONFIG_SEABIOS_STABLE) \
Martin Roth99d05c72015-11-28 15:44:34 -070048 CONFIG_PAYLOAD_CONFIGFILE=$(CONFIG_PAYLOAD_CONFIGFILE) \
Stefan Reinauer0fa5d8f2015-06-30 17:09:17 -070049 CONFIG_SEABIOS_THREAD_OPTIONROMS=$(CONFIG_SEABIOS_THREAD_OPTIONROMS) \
50 CONFIG_SEABIOS_VGA_COREBOOT=$(CONFIG_SEABIOS_VGA_COREBOOT) \
51 CONFIG_CONSOLE_SERIAL=$(CONFIG_CONSOLE_SERIAL) \
Martin Roth6e119202015-11-28 16:32:25 -070052 CONFIG_TTYS0_BASE=$(CONFIG_TTYS0_BASE)
Stefan Reinauer0fa5d8f2015-06-30 17:09:17 -070053
Patrick Georgi40134692015-11-30 20:00:33 +010054payloads/external/SeaBIOS/seabios/out/vgabios.bin: seabios
55payloads/external/SeaBIOS/seabios/out/bios.bin.elf: seabios
56
Stefan Reinauer0fa5d8f2015-06-30 17:09:17 -070057filo:
58 $(MAKE) -C payloads/external/FILO -f Makefile.inc \
59 HOSTCC="$(HOSTCC)" \
60 CC="$(CC_x86_32)" LD="$(LD_x86_32)" OBJDUMP="$(OBJDUMP_x86_32)" \
61 OBJCOPY="$(OBJCOPY_x86_32)" STRIP="$(STRIP_x86_32)" \
62 CONFIG_FILO_MASTER=$(CONFIG_FILO_MASTER) \
63 CONFIG_FILO_STABLE=$(CONFIG_FILO_STABLE)
64
Patrick Georgi864b48d2015-12-04 16:52:18 +010065payloads/external/FILO/filo/build/filo.elf: filo
Stefan Reinauer0fa5d8f2015-06-30 17:09:17 -070066
67grub2:
68 $(MAKE) -C payloads/external/GRUB2 -f Makefile.inc \
69 HOSTCC="$(HOSTCC)" \
70 CC="$(CC_x86_32)" LD="$(LD_x86_32)" OBJDUMP="$(OBJDUMP_x86_32)" \
71 OBJCOPY="$(OBJCOPY_x86_32)" STRIP="$(STRIP_x86_32)" \
72 CONFIG_GRUB2_MASTER=$(CONFIG_GRUB2_MASTER)
Patrick Georgi864b48d2015-12-04 16:52:18 +010073
74payloads/external/GRUB2/grub2/build/default_payload.elf: grub2