1## SPDX-License-Identifier: GPL-2.0-only 2 3unexport $(COREBOOT_EXPORTS) 4 5src := $(CURDIR) 6obj := build 7 8srctree := $(src) 9srck := $(src)/../../util/kconfig 10objk := $(src)/build/util/kconfig 11 12LIBPAYLOAD_DEFCONFIG ?= $(src)/../libpayload/configs/defconfig-tinycurses 13 14PAYLOAD_DEPS := $(obj)/config.h 15 16OBJECTS = cpuinfo_module.o cpuid.S.o pci_module.o coreboot_module.o \ 17 nvram_module.o bootlog_module.o ramdump_module.o \ 18 multiboot_module.o cbfs_module.o timestamps_module.o coreinfo.o 19OBJS = $(patsubst %,$(obj)/%,$(OBJECTS)) 20TARGET = $(obj)/coreinfo.elf 21 22ARCH := x86_32 23 24all: real-all 25 26include ../libpayload/Makefile.payload 27 28ifeq ($(filter %clean,$(MAKECMDGOALS)),) 29export KERNELVERSION := 0.1.0 30export KCONFIG_AUTOHEADER := $(obj)/config.h 31export KCONFIG_AUTOCONFIG := $(obj)/auto.conf 32export KCONFIG_DEPENDENCIES := $(obj)/auto.conf.cmd 33export KCONFIG_SPLITCONFIG := $(obj)/config 34export KCONFIG_TRISTATE := $(obj)/tristate.conf 35export KCONFIG_CONFIG := $(CURDIR)/.config 36export KCONFIG_NEGATIVES := 1 37export KBUILD_KCONFIG := Kconfig 38 39CONFIG_SHELL := sh 40KBUILD_DEFCONFIG := configs/defconfig 41UNAME_RELEASE := $(shell uname -r) 42HAVE_DOTCONFIG := $(wildcard .config) 43MAKEFLAGS += -rR --no-print-directory 44 45HOSTCC ?= gcc 46HOSTCXX ?= g++ 47HOSTCFLAGS := -I$(srck) -I$(objk) 48HOSTCXXFLAGS := -I$(srck) -I$(objk) 49 50CFLAGS += -I$(obj) -I../../src/commonlib/include 51 52ifneq ($(strip $(HAVE_DOTCONFIG)),) 53include $(src)/.config 54real-all: $(TARGET) 55 56ifeq ($(CONFIG_LTO),y) 57CFLAGS += -flto 58endif 59 60else 61real-all: config 62endif 63 64defaultbuild: 65 $(MAKE) olddefconfig 66 $(MAKE) all 67 68$(obj)/config.h: 69 $(MAKE) oldconfig 70 71$(shell mkdir -p $(objk)/lxdialog $(KCONFIG_SPLITCONFIG)) 72 73include $(srck)/Makefile.mk 74 75.PHONY: $(PHONY) prepare all real-all defaultbuild 76 77else 78 79distclean: clean 80 rm -f .config* 81 82.PHONY: distclean 83endif 84