1*4882a593Smuzhiyun# 2*4882a593Smuzhiyun# (C) Copyright 2002-2006 3*4882a593Smuzhiyun# Wolfgang Denk, DENX Software Engineering, wd@denx.de. 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0+ 6*4882a593Smuzhiyun# 7*4882a593Smuzhiyun 8*4882a593Smuzhiyunifndef CONFIG_X86_64 9*4882a593Smuzhiyunobj-y += bios.o 10*4882a593Smuzhiyunobj-y += bios_asm.o 11*4882a593Smuzhiyunobj-y += bios_interrupts.o 12*4882a593Smuzhiyunendif 13*4882a593Smuzhiyunifndef CONFIG_SPL_BUILD 14*4882a593Smuzhiyunobj-$(CONFIG_CMD_BOOTM) += bootm.o 15*4882a593Smuzhiyunendif 16*4882a593Smuzhiyunobj-y += cmd_boot.o 17*4882a593Smuzhiyunobj-$(CONFIG_SEABIOS) += coreboot_table.o 18*4882a593Smuzhiyunobj-y += early_cmos.o 19*4882a593Smuzhiyunobj-$(CONFIG_EFI) += efi/ 20*4882a593Smuzhiyunobj-y += e820.o 21*4882a593Smuzhiyunobj-y += gcc.o 22*4882a593Smuzhiyunobj-y += init_helpers.o 23*4882a593Smuzhiyunobj-y += interrupts.o 24*4882a593Smuzhiyunobj-y += lpc-uclass.o 25*4882a593Smuzhiyunobj-y += mpspec.o 26*4882a593Smuzhiyunobj-$(CONFIG_ENABLE_MRC_CACHE) += mrccache.o 27*4882a593Smuzhiyunobj-y += cmd_mtrr.o 28*4882a593Smuzhiyunobj-y += northbridge-uclass.o 29*4882a593Smuzhiyunobj-$(CONFIG_I8259_PIC) += i8259.o 30*4882a593Smuzhiyunobj-$(CONFIG_I8254_TIMER) += i8254.o 31*4882a593Smuzhiyunobj-y += pinctrl_ich6.o 32*4882a593Smuzhiyunobj-y += pirq_routing.o 33*4882a593Smuzhiyunobj-y += relocate.o 34*4882a593Smuzhiyunobj-y += physmem.o 35*4882a593Smuzhiyunobj-$(CONFIG_INTEL_MID) += pmu.o 36*4882a593Smuzhiyunobj-$(CONFIG_X86_RAMTEST) += ramtest.o 37*4882a593Smuzhiyunobj-$(CONFIG_INTEL_MID) += scu.o 38*4882a593Smuzhiyunobj-y += sections.o 39*4882a593Smuzhiyunobj-y += sfi.o 40*4882a593Smuzhiyunobj-y += string.o 41*4882a593Smuzhiyunobj-$(CONFIG_HAVE_ACPI_RESUME) += acpi_s3.o 42*4882a593Smuzhiyunifndef CONFIG_QEMU 43*4882a593Smuzhiyunobj-$(CONFIG_GENERATE_ACPI_TABLE) += acpi_table.o 44*4882a593Smuzhiyunendif 45*4882a593Smuzhiyunobj-y += tables.o 46*4882a593Smuzhiyunifndef CONFIG_SPL_BUILD 47*4882a593Smuzhiyunobj-$(CONFIG_CMD_ZBOOT) += zimage.o 48*4882a593Smuzhiyunendif 49*4882a593Smuzhiyunobj-$(CONFIG_HAVE_FSP) += fsp/ 50*4882a593Smuzhiyunobj-$(CONFIG_SPL_BUILD) += spl.o 51*4882a593Smuzhiyun 52*4882a593Smuzhiyunextra-$(CONFIG_USE_PRIVATE_LIBGCC) += lib.a 53*4882a593Smuzhiyun 54*4882a593SmuzhiyunNORMAL_LIBGCC = $(shell $(CC) $(PLATFORM_CPPFLAGS) -print-libgcc-file-name) 55*4882a593SmuzhiyunOBJCOPYFLAGS := --prefix-symbols=__normal_ 56*4882a593Smuzhiyun$(obj)/lib.a: $(NORMAL_LIBGCC) FORCE 57*4882a593Smuzhiyun $(call if_changed,objcopy) 58*4882a593Smuzhiyun 59*4882a593Smuzhiyunifeq ($(CONFIG_$(SPL_)X86_64),) 60*4882a593Smuzhiyunobj-$(CONFIG_EFI_APP) += crt0_ia32_efi.o reloc_ia32_efi.o 61*4882a593Smuzhiyunendif 62*4882a593Smuzhiyun 63*4882a593Smuzhiyunifneq ($(CONFIG_EFI_STUB),) 64*4882a593Smuzhiyun 65*4882a593SmuzhiyunCFLAGS_REMOVE_reloc_ia32_efi.o += -mregparm=3 66*4882a593SmuzhiyunCFLAGS_reloc_ia32_efi.o += -fpic -fshort-wchar 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun# When building for 64-bit we must remove the i386-specific flags 69*4882a593SmuzhiyunCFLAGS_REMOVE_reloc_x86_64_efi.o += -mregparm=3 -march=i386 -m32 70*4882a593SmuzhiyunCFLAGS_reloc_x86_64_efi.o += -fpic -fshort-wchar 71*4882a593Smuzhiyun 72*4882a593SmuzhiyunAFLAGS_REMOVE_crt0_x86_64_efi.o += -mregparm=3 -march=i386 -m32 73*4882a593SmuzhiyunAFLAGS_crt0_x86_64_efi.o += -fpic -fshort-wchar 74*4882a593Smuzhiyun 75*4882a593Smuzhiyunextra-$(CONFIG_EFI_STUB_32BIT) += crt0_ia32_efi.o reloc_ia32_efi.o 76*4882a593Smuzhiyunextra-$(CONFIG_EFI_STUB_64BIT) += crt0_x86_64_efi.o reloc_x86_64_efi.o 77*4882a593Smuzhiyun 78*4882a593Smuzhiyunendif 79*4882a593Smuzhiyun 80*4882a593Smuzhiyunifneq ($(CONFIG_EFI_STUB)$(CONFIG_CMD_BOOTEFI_HELLO_COMPILE),) 81*4882a593Smuzhiyunifeq ($(CONFIG_$(SPL_)X86_64),) 82*4882a593Smuzhiyunextra-y += $(EFI_CRT0) $(EFI_RELOC) 83*4882a593Smuzhiyunendif 84*4882a593Smuzhiyunendif 85