# SPDX-License-Identifier: GPL-2.0+
#
-include $(TOPDIR)/config.mk
-
-LIB = $(obj)lib$(ARCH).o
-
-COBJS-$(CONFIG_CMD_BOOTM) += bootm.o
-COBJS-y += cmd_boot.o
-COBJS-y += gcc.o
-COBJS-y += init_helpers.o
-COBJS-y += interrupts.o
-COBJS-$(CONFIG_SYS_PCAT_INTERRUPTS) += pcat_interrupts.o
-COBJS-$(CONFIG_SYS_PCAT_TIMER) += pcat_timer.o
-COBJS-$(CONFIG_PCI) += pci_type1.o
-COBJS-y += relocate.o
-COBJS-y += physmem.o
-COBJS-y += string.o
-COBJS-$(CONFIG_SYS_X86_TSC_TIMER) += tsc_timer.o
-COBJS-$(CONFIG_VIDEO_VGA) += video.o
-COBJS-$(CONFIG_CMD_ZBOOT) += zimage.o
-
-SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
-OBJS := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
-
-$(LIB): $(obj).depend $(OBJS)
- $(call cmd_link_o_target, $(OBJS))
-
-$(PREFIXED_LIBGCC): $(NORMAL_LIBGCC)
- $(OBJCOPY) $< $@ --prefix-symbols=__normal_
-
-$(LIB): $(PREFIXED_LIBGCC)
-
-#########################################################################
-
-# defines $(obj).depend target
-include $(SRCTREE)/rules.mk
-
-sinclude $(obj).depend
-
-#########################################################################
+obj-y += bios.o
+obj-y += bios_asm.o
+obj-y += bios_interrupts.o
+obj-$(CONFIG_CMD_BOOTM) += bootm.o
+obj-y += cmd_boot.o
+obj-$(CONFIG_EFI) += efi/
+obj-y += e820.o
+obj-y += gcc.o
+obj-y += init_helpers.o
+obj-y += interrupts.o
+obj-y += lpc-uclass.o
+obj-y += mpspec.o
+obj-$(CONFIG_ENABLE_MRC_CACHE) += mrccache.o
+obj-y += cmd_mtrr.o
+obj-$(CONFIG_SYS_PCAT_INTERRUPTS) += pcat_interrupts.o
+obj-$(CONFIG_SYS_PCAT_TIMER) += pcat_timer.o
+ifndef CONFIG_DM_PCI
+obj-$(CONFIG_PCI) += pci_type1.o
+endif
+obj-y += pch-uclass.o
+obj-y += pirq_routing.o
+obj-y += relocate.o
+obj-y += physmem.o
+obj-$(CONFIG_X86_RAMTEST) += ramtest.o
+obj-y += sfi.o
+obj-$(CONFIG_GENERATE_SMBIOS_TABLE) += smbios.o
+obj-y += string.o
+obj-$(CONFIG_GENERATE_ACPI_TABLE) += acpi_table.o
+obj-y += tables.o
+obj-$(CONFIG_SYS_X86_TSC_TIMER) += tsc_timer.o
+obj-$(CONFIG_CMD_ZBOOT) += zimage.o
+obj-$(CONFIG_HAVE_FSP) += fsp/
+
+extra-$(CONFIG_USE_PRIVATE_LIBGCC) += lib.a
+
+NORMAL_LIBGCC = $(shell $(CC) $(PLATFORM_CPPFLAGS) -print-libgcc-file-name)
+OBJCOPYFLAGS := --prefix-symbols=__normal_
+$(obj)/lib.a: $(NORMAL_LIBGCC) FORCE
+ $(call if_changed,objcopy)