xref: /OK3568_Linux_fs/u-boot/arch/x86/lib/Makefile (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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