Stefan Reinauer | 0fa5d8f | 2015-06-30 17:09:17 -0700 | [diff] [blame] | 1 | ################################################################################ |
| 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 Reinauer | 0fa5d8f | 2015-06-30 17:09:17 -0700 | [diff] [blame] | 17 | |
Martin Roth | 7b928cd | 2015-06-19 20:50:59 -0600 | [diff] [blame] | 18 | ###################################################################### |
| 19 | # set up payload config and version files for later inclusion |
| 20 | ifeq ($(CONFIG_PAYLOAD_SEABIOS),y) |
| 21 | PAYLOAD_CONFIG=payloads/external/SeaBIOS/seabios/.config |
Martin Roth | 886f478 | 2015-11-28 13:23:48 -0700 | [diff] [blame] | 22 | PAYLOAD_VERSION=payloads/external/SeaBIOS/seabios/out/autoversion.h |
Martin Roth | 7b928cd | 2015-06-19 20:50:59 -0600 | [diff] [blame] | 23 | endif |
| 24 | ifeq ($(CONFIG_PAYLOAD_FILO),y) |
| 25 | PAYLOAD_CONFIG=payloads/external/FILO/filo/.config |
| 26 | PAYLOAD_VERSION=payloads/external/FILO/filo/build/version.h |
| 27 | endif |
Stefan Reinauer | 9125073 | 2015-07-15 10:24:18 -0700 | [diff] [blame] | 28 | ifeq ($(CONFIG_PAYLOAD_DEPTHCHARGE),y) |
| 29 | PAYLOAD_CONFIG=payloads/external/depthcharge/depthcharge/.config |
| 30 | #TODO: Figure out version |
| 31 | endif |
Martin Roth | 7b928cd | 2015-06-19 20:50:59 -0600 | [diff] [blame] | 32 | |
Stefan Reinauer | 785a31d | 2016-04-13 13:13:02 -0700 | [diff] [blame] | 33 | ifeq ($(CONFIG_PAYLOAD_LINUX),y) |
| 34 | ifneq ($(strip $(call strip_quotes,$(CONFIG_LINUX_COMMAND_LINE))),) |
| 35 | ADDITIONAL_PAYLOAD_CONFIG+=-C $(CONFIG_LINUX_COMMAND_LINE) |
| 36 | endif |
| 37 | ifneq ($(strip $(call strip_quotes,$(CONFIG_LINUX_INITRD))),) |
| 38 | ADDITIONAL_PAYLOAD_CONFIG+=-I $(CONFIG_LINUX_INITRD) |
| 39 | endif |
| 40 | endif |
| 41 | ifneq ($(strip $(call strip_quotes,$(CONFIG_PAYLOAD_OPTIONS))),) |
| 42 | ADDITIONAL_PAYLOAD_CONFIG+=$(strip $(call strip_quotes,$(CONFIG_PAYLOAD_OPTIONS))) |
| 43 | endif |
| 44 | |
Werner Zeh | bc2d151 | 2016-05-03 09:52:12 +0200 | [diff] [blame] | 45 | cbfs-files-y += $(CONFIG_CBFS_PREFIX)/payload |
| 46 | $(CONFIG_CBFS_PREFIX)/payload-file := $(CONFIG_PAYLOAD_FILE) |
| 47 | ifeq ($(CONFIG_PAYLOAD_IS_FLAT_BINARY),y) |
| 48 | $(CONFIG_CBFS_PREFIX)/payload-type := flat-binary |
| 49 | else |
| 50 | $(CONFIG_CBFS_PREFIX)/payload-type := payload |
| 51 | endif |
| 52 | $(CONFIG_CBFS_PREFIX)/payload-compression := $(CBFS_PAYLOAD_COMPRESS_FLAG) |
| 53 | $(CONFIG_CBFS_PREFIX)/payload-options := $(ADDITIONAL_PAYLOAD_CONFIG) |
| 54 | |
Martin Roth | d4c2484 | 2015-12-16 16:09:11 -0700 | [diff] [blame] | 55 | cbfs-files-$(CONFIG_INCLUDE_CONFIG_FILE) += payload_config |
| 56 | payload_config-file := $(PAYLOAD_CONFIG) |
| 57 | payload_config-type := raw |
| 58 | |
| 59 | cbfs-files-$(CONFIG_INCLUDE_CONFIG_FILE) += payload_revision |
| 60 | payload_revision-file := $(PAYLOAD_VERSION) |
| 61 | payload_revision-type := raw |
| 62 | |
Denis 'GNUtoo' Carikli | 8fb72c9 | 2017-01-08 06:43:01 +0100 | [diff] [blame] | 63 | cbfs-files-$(CONFIG_GRUB2_INCLUDE_RUNTIME_CONFIG_FILE) += etc/grub.cfg |
| 64 | etc/grub.cfg-file := $(CONFIG_GRUB2_RUNTIME_CONFIG_FILE) |
| 65 | etc/grub.cfg-type := raw |
| 66 | etc/grub.cfg-required := the GRUB runtime configuration file ($(CONFIG_GRUB2_RUNTIME_CONFIG_FILE)) |
| 67 | |
Martin Roth | 9369e10 | 2016-10-17 10:11:10 -0600 | [diff] [blame] | 68 | # SeaBIOS |
| 69 | |
Patrick Georgi | c983671 | 2015-08-08 21:35:38 +0200 | [diff] [blame] | 70 | SEABIOS_CC_OFFSET=$(if $(filter %ccache,$(HOSTCC)),2,1) |
Paul Kocialkowski | fde3275 | 2016-07-24 12:25:07 +0200 | [diff] [blame] | 71 | payloads/external/SeaBIOS/seabios/out/bios.bin.elf seabios: $(DOTCONFIG) |
Martin Roth | c8ed340 | 2016-03-16 10:39:30 -0600 | [diff] [blame] | 72 | $(MAKE) -C payloads/external/SeaBIOS \ |
Stefan Reinauer | 0fa5d8f | 2015-06-30 17:09:17 -0700 | [diff] [blame] | 73 | HOSTCC="$(HOSTCC)" \ |
Martin Roth | 342cf7f | 2016-03-07 22:04:01 -0700 | [diff] [blame] | 74 | CC=$(word $(SEABIOS_CC_OFFSET),$(CC_x86_32)) \ |
| 75 | CFLAGS="$(patsubst $(word $(SEABIOS_CC_OFFSET),$(CC_x86_32))%,,$(wordlist $(SEABIOS_CC_OFFSET),9999,$(CC_x86_32)))" \ |
Stefan Reinauer | 0fa5d8f | 2015-06-30 17:09:17 -0700 | [diff] [blame] | 76 | LD=$(word 1,$(LD_x86_32)) LDFLAGS="$(patsubst $(word 1,$(LD_x86_32))%,,$(LD_x86_32))" \ |
| 77 | OBJDUMP="$(OBJDUMP_x86_32)" \ |
| 78 | OBJCOPY="$(OBJCOPY_x86_32)" STRIP="$(STRIP_x86_32)" \ |
| 79 | AS="$(AS_x86_32)" IASL="$(IASL)" \ |
| 80 | CONFIG_SEABIOS_MASTER=$(CONFIG_SEABIOS_MASTER) \ |
| 81 | CONFIG_SEABIOS_STABLE=$(CONFIG_SEABIOS_STABLE) \ |
Antonello Dettori | 3aa91dc | 2016-03-07 23:56:57 +0000 | [diff] [blame] | 82 | CONFIG_SEABIOS_REVISION=$(CONFIG_SEABIOS_REVISION) \ |
| 83 | CONFIG_SEABIOS_REVISION_ID=$(CONFIG_SEABIOS_REVISION_ID) \ |
Martin Roth | 99d05c7 | 2015-11-28 15:44:34 -0700 | [diff] [blame] | 84 | CONFIG_PAYLOAD_CONFIGFILE=$(CONFIG_PAYLOAD_CONFIGFILE) \ |
Stefan Reinauer | 0fa5d8f | 2015-06-30 17:09:17 -0700 | [diff] [blame] | 85 | CONFIG_SEABIOS_THREAD_OPTIONROMS=$(CONFIG_SEABIOS_THREAD_OPTIONROMS) \ |
| 86 | CONFIG_SEABIOS_VGA_COREBOOT=$(CONFIG_SEABIOS_VGA_COREBOOT) \ |
Martin Roth | f80331f | 2016-02-06 12:47:05 -0700 | [diff] [blame] | 87 | CONFIG_DRIVERS_UART_8250IO=$(CONFIG_DRIVERS_UART_8250IO) \ |
Ricardo Ribalda Delgado | 77ced40 | 2017-01-03 11:56:22 +0100 | [diff] [blame] | 88 | CONFIG_DRIVERS_UART_8250MEM=$(CONFIG_DRIVERS_UART_8250MEM) \ |
| 89 | CONFIG_HUDSON_UART=$(CONFIG_HUDSON_UART) \ |
Stefan Reinauer | 0fa5d8f | 2015-06-30 17:09:17 -0700 | [diff] [blame] | 90 | CONFIG_CONSOLE_SERIAL=$(CONFIG_CONSOLE_SERIAL) \ |
Stefan Tauner | c48d791 | 2017-01-15 11:49:25 +0100 | [diff] [blame] | 91 | CONFIG_TTYS0_BASE=$(CONFIG_TTYS0_BASE) \ |
| 92 | CONFIG_SEABIOS_DEBUG_LEVEL=$(CONFIG_SEABIOS_DEBUG_LEVEL) |
Stefan Reinauer | 0fa5d8f | 2015-06-30 17:09:17 -0700 | [diff] [blame] | 93 | |
Patrick Georgi | 4013469 | 2015-11-30 20:00:33 +0100 | [diff] [blame] | 94 | payloads/external/SeaBIOS/seabios/out/vgabios.bin: seabios |
Martin Roth | 342cf7f | 2016-03-07 22:04:01 -0700 | [diff] [blame] | 95 | payloads/external/SeaBIOS/seabios/.config: payloads/external/SeaBIOS/seabios/out/bios.bin.elf |
| 96 | payloads/external/SeaBIOS/seabios/out/autoversion.h: payloads/external/SeaBIOS/seabios/out/bios.bin.elf |
Patrick Georgi | 4013469 | 2015-11-30 20:00:33 +0100 | [diff] [blame] | 97 | |
Martin Roth | bc46ac5 | 2016-06-05 10:30:34 -0600 | [diff] [blame] | 98 | # add a SeaBIOS bootorder file |
| 99 | ifneq ($(strip $(CONFIG_SEABIOS_BOOTORDER_FILE)),) |
| 100 | cbfs-files-y += bootorder |
| 101 | bootorder-file := $(strip $(CONFIG_SEABIOS_BOOTORDER_FILE)) |
| 102 | bootorder-type := raw |
| 103 | endif |
| 104 | |
Martin Roth | 9369e10 | 2016-10-17 10:11:10 -0600 | [diff] [blame] | 105 | # Depthcharge |
| 106 | |
Paul Kocialkowski | fde3275 | 2016-07-24 12:25:07 +0200 | [diff] [blame] | 107 | payloads/external/depthcharge/depthcharge/build/depthcharge.elf depthcharge: $(DOTCONFIG) $(CBFSTOOL) |
Martin Roth | c8ed340 | 2016-03-16 10:39:30 -0600 | [diff] [blame] | 108 | $(MAKE) -C payloads/external/depthcharge \ |
Stefan Reinauer | 9125073 | 2015-07-15 10:24:18 -0700 | [diff] [blame] | 109 | BOARD=$(call ws_to_under,$(call strip_quotes,$(call tolower,$(CONFIG_MAINBOARD_PART_NUMBER)))) \ |
Marshall Dawson | f9973b5 | 2016-12-22 18:16:48 -0500 | [diff] [blame] | 110 | MFLAGS= MAKEFLAGS= \ |
| 111 | DEPTHCHARGE_MASTER=$(CONFIG_DEPTHCHARGE_MASTER) \ |
| 112 | DEPTHCHARGE_STABLE=$(CONFIG_DEPTHCHARGE_STABLE) \ |
| 113 | DEPTHCHARGE_REVISION=$(CONFIG_DEPTHCHARGE_REVISION) \ |
Marshall Dawson | fc18507 | 2016-12-22 20:25:29 -0500 | [diff] [blame] | 114 | DEPTHCHARGE_REVISION_ID=$(CONFIG_DEPTHCHARGE_REVISION_ID) \ |
| 115 | OVERRIDE_DEFCONFIG=$(CONFIG_LP_DEFCONFIG_OVERRIDE) |
Stefan Reinauer | 9125073 | 2015-07-15 10:24:18 -0700 | [diff] [blame] | 116 | |
Martin Roth | 9369e10 | 2016-10-17 10:11:10 -0600 | [diff] [blame] | 117 | # FILO |
| 118 | |
Stefan Reinauer | 0fa5d8f | 2015-06-30 17:09:17 -0700 | [diff] [blame] | 119 | filo: |
Martin Roth | c8ed340 | 2016-03-16 10:39:30 -0600 | [diff] [blame] | 120 | $(MAKE) -C payloads/external/FILO \ |
Stefan Reinauer | 0fa5d8f | 2015-06-30 17:09:17 -0700 | [diff] [blame] | 121 | HOSTCC="$(HOSTCC)" \ |
| 122 | CC="$(CC_x86_32)" LD="$(LD_x86_32)" OBJDUMP="$(OBJDUMP_x86_32)" \ |
| 123 | OBJCOPY="$(OBJCOPY_x86_32)" STRIP="$(STRIP_x86_32)" \ |
| 124 | CONFIG_FILO_MASTER=$(CONFIG_FILO_MASTER) \ |
| 125 | CONFIG_FILO_STABLE=$(CONFIG_FILO_STABLE) |
| 126 | |
Patrick Georgi | 864b48d | 2015-12-04 16:52:18 +0100 | [diff] [blame] | 127 | payloads/external/FILO/filo/build/filo.elf: filo |
Patrick Georgi | 67e11d1 | 2016-01-14 20:41:58 +0100 | [diff] [blame] | 128 | payloads/external/FILO/filo/.config: filo |
| 129 | payloads/external/FILO/filo/build/version.h: filo |
Stefan Reinauer | 0fa5d8f | 2015-06-30 17:09:17 -0700 | [diff] [blame] | 130 | |
Martin Roth | 9369e10 | 2016-10-17 10:11:10 -0600 | [diff] [blame] | 131 | # Grub |
| 132 | |
Stefan Reinauer | 0fa5d8f | 2015-06-30 17:09:17 -0700 | [diff] [blame] | 133 | grub2: |
Martin Roth | c8ed340 | 2016-03-16 10:39:30 -0600 | [diff] [blame] | 134 | $(MAKE) -C payloads/external/GRUB2 \ |
Stefan Reinauer | 0fa5d8f | 2015-06-30 17:09:17 -0700 | [diff] [blame] | 135 | HOSTCC="$(HOSTCC)" \ |
| 136 | CC="$(CC_x86_32)" LD="$(LD_x86_32)" OBJDUMP="$(OBJDUMP_x86_32)" \ |
| 137 | OBJCOPY="$(OBJCOPY_x86_32)" STRIP="$(STRIP_x86_32)" \ |
Benjamin Barenblat | 9993286 | 2016-06-15 12:08:06 -0700 | [diff] [blame] | 138 | CONFIG_GRUB2_MASTER=$(CONFIG_GRUB2_MASTER) \ |
Denis 'GNUtoo' Carikli | 08cf195 | 2016-09-14 14:41:36 +0200 | [diff] [blame] | 139 | CONFIG_GRUB2_REVISION=$(CONFIG_GRUB2_REVISION) \ |
| 140 | CONFIG_GRUB2_REVISION_ID=$(CONFIG_GRUB2_REVISION_ID) \ |
Benjamin Barenblat | 9993286 | 2016-06-15 12:08:06 -0700 | [diff] [blame] | 141 | CONFIG_GRUB2_EXTRA_MODULES=$(CONFIG_GRUB2_EXTRA_MODULES) |
Patrick Georgi | 864b48d | 2015-12-04 16:52:18 +0100 | [diff] [blame] | 142 | |
| 143 | payloads/external/GRUB2/grub2/build/default_payload.elf: grub2 |
Martin Roth | dbae4d0 | 2015-12-11 12:24:33 -0700 | [diff] [blame] | 144 | |
Martin Roth | 9369e10 | 2016-10-17 10:11:10 -0600 | [diff] [blame] | 145 | # U-Boot |
| 146 | |
Paul Kocialkowski | fde3275 | 2016-07-24 12:25:07 +0200 | [diff] [blame] | 147 | payloads/external/U-Boot/u-boot/u-boot-dtb.bin u-boot: $(DOTCONFIG) |
Martin Roth | c8ed340 | 2016-03-16 10:39:30 -0600 | [diff] [blame] | 148 | $(MAKE) -C payloads/external/U-Boot \ |
Martin Roth | dbae4d0 | 2015-12-11 12:24:33 -0700 | [diff] [blame] | 149 | CONFIG_UBOOT_MASTER=$(CONFIG_UBOOT_MASTER) \ |
| 150 | CONFIG_UBOOT_STABLE=$(CONFIG_UBOOT_STABLE) |
Martin Roth | be63a24 | 2016-02-28 15:56:27 -0800 | [diff] [blame] | 151 | |
Martin Roth | 9369e10 | 2016-10-17 10:11:10 -0600 | [diff] [blame] | 152 | # TINT |
| 153 | |
Antonello Dettori | 4f7d329 | 2016-05-27 23:44:47 +0200 | [diff] [blame] | 154 | payloads/external/tint/tint/tint.elf tint: |
| 155 | $(MAKE) -C payloads/external/tint |
| 156 | |
Martin Roth | 9369e10 | 2016-10-17 10:11:10 -0600 | [diff] [blame] | 157 | cbfs-files-$(CONFIG_TINT_SECONDARY_PAYLOAD) += img/tint |
| 158 | img/tint-file := payloads/external/tint/tint/tint.elf |
| 159 | img/tint-type := payload |
| 160 | |
| 161 | # Memtest86+ |
| 162 | |
Martin Roth | be63a24 | 2016-02-28 15:56:27 -0800 | [diff] [blame] | 163 | cbfs-files-$(CONFIG_MEMTEST_SECONDARY_PAYLOAD) += img/memtest |
| 164 | img/memtest-file := payloads/external/Memtest86Plus/memtest86plus/memtest |
| 165 | img/memtest-type := payload |
| 166 | |
| 167 | ifeq ($(CONFIG_CONSOLE_SERIAL)$(CONFIG_DRIVERS_UART_8250IO),yy) |
| 168 | MEMTEST_SERIAL_OPTIONS=SERIAL_CONSOLE_DEFAULT=1 \ |
| 169 | SERIAL_TTY=$(CONFIG_UART_FOR_CONSOLE) \ |
| 170 | SERIAL_BAUD_RATE=$(CONFIG_TTYS0_BAUD) |
| 171 | endif |
| 172 | |
Paul Kocialkowski | fde3275 | 2016-07-24 12:25:07 +0200 | [diff] [blame] | 173 | payloads/external/Memtest86Plus/memtest86plus/memtest: $(DOTCONFIG) |
Martin Roth | c8ed340 | 2016-03-16 10:39:30 -0600 | [diff] [blame] | 174 | $(MAKE) -C payloads/external/Memtest86Plus all \ |
Martin Roth | be63a24 | 2016-02-28 15:56:27 -0800 | [diff] [blame] | 175 | CC="$(CC_x86_32)" \ |
| 176 | LD="$(LD_x86_32)" \ |
| 177 | OBJCOPY="$(OBJCOPY_x86_32)" \ |
| 178 | AS="$(AS_x86_32)" \ |
Martin Roth | 4005d9b | 2016-04-26 09:51:41 -0600 | [diff] [blame] | 179 | CONFIG_MEMTEST_MASTER=$(CONFIG_MEMTEST_MASTER) \ |
| 180 | CONFIG_MEMTEST_STABLE=$(CONFIG_MEMTEST_STABLE) \ |
Martin Roth | be63a24 | 2016-02-28 15:56:27 -0800 | [diff] [blame] | 181 | $(MEMTEST_SERIAL_OPTIONS) \ |
| 182 | MFLAGS= MAKEFLAGS= |
Martin Roth | 888a98b | 2016-03-13 13:00:43 -0600 | [diff] [blame] | 183 | |
Martin Roth | 9369e10 | 2016-10-17 10:11:10 -0600 | [diff] [blame] | 184 | # iPXE |
| 185 | |
Martin Roth | 888a98b | 2016-03-13 13:00:43 -0600 | [diff] [blame] | 186 | PXE_ROM_PCI_ID:=$(subst $(comma),,$(CONFIG_PXE_ROM_ID)) |
| 187 | |
| 188 | ifeq ($(CONFIG_PXE_ROM),y) |
| 189 | PXE_ROM_FILE:=$(CONFIG_PXE_ROM_FILE) |
| 190 | endif |
| 191 | ifeq ($(CONFIG_BUILD_IPXE),y) |
| 192 | PXE_ROM_FILE:=payloads/external/iPXE/ipxe/ipxe.rom |
| 193 | endif |
| 194 | |
| 195 | ifeq ($(CONFIG_CONSOLE_SERIAL)$(CONFIG_DRIVERS_UART_8250IO),yy) |
| 196 | IPXE_UART=COM$(call int-add,$(CONFIG_UART_FOR_CONSOLE) 1) |
| 197 | endif |
| 198 | |
| 199 | cbfs-files-$(CONFIG_PXE_ROM)$(CONFIG_BUILD_IPXE) += pci$(CONFIG_PXE_ROM_ID).rom |
| 200 | pci$(CONFIG_PXE_ROM_ID).rom-file := $(PXE_ROM_FILE) |
| 201 | pci$(CONFIG_PXE_ROM_ID).rom-type := raw |
| 202 | |
Paul Kocialkowski | fde3275 | 2016-07-24 12:25:07 +0200 | [diff] [blame] | 203 | payloads/external/iPXE/ipxe/ipxe.rom ipxe: $(DOTCONFIG) |
Martin Roth | 888a98b | 2016-03-13 13:00:43 -0600 | [diff] [blame] | 204 | $(MAKE) -C payloads/external/iPXE all \ |
| 205 | CROSS_COMPILE="$(CROSS_COMPILE_$(ARCH-ramstage-y))" \ |
| 206 | PXE_ROM_PCI_ID=$(PXE_ROM_PCI_ID) \ |
| 207 | CONFIG_IPXE_MASTER=$(CONFIG_IPXE_MASTER) \ |
| 208 | CONFIG_IPXE_STABLE=$(CONFIG_IPXE_STABLE) \ |
| 209 | CONSOLE_SERIAL=$(CONFIG_CONSOLE_SERIAL)$(CONFIG_DRIVERS_UART_8250IO) \ |
| 210 | IPXE_UART=$(IPXE_UART) \ |
| 211 | CONFIG_TTYS0_BAUD=$(CONFIG_TTYS0_BAUD) \ |
| 212 | MFLAGS= MAKEFLAGS= |