blob: 21f59a04857a8dd927ee9527f21290040f62154e [file] [log] [blame]
wdenk2262cfe2002-11-18 00:14:45 +00001#
Marian Balakowiczf9328632006-09-01 19:49:50 +02002# (C) Copyright 2002-2006
wdenk2262cfe2002-11-18 00:14:45 +00003# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4#
Wolfgang Denk1a459662013-07-08 09:37:19 +02005# SPDX-License-Identifier: GPL-2.0+
wdenk2262cfe2002-11-18 00:14:45 +00006#
7
Simon Glass05cbd982017-01-16 07:04:09 -07008ifndef CONFIG_X86_64
Simon Glass0ca24262014-11-14 20:56:32 -07009obj-y += bios.o
10obj-y += bios_asm.o
11obj-y += bios_interrupts.o
Simon Glass05cbd982017-01-16 07:04:09 -070012endif
Simon Glassca5114f2017-01-16 07:04:13 -070013ifndef CONFIG_SPL_BUILD
Masahiro Yamada3954b732013-10-21 11:53:34 +090014obj-$(CONFIG_CMD_BOOTM) += bootm.o
Simon Glassca5114f2017-01-16 07:04:13 -070015endif
Masahiro Yamada3954b732013-10-21 11:53:34 +090016obj-y += cmd_boot.o
Bin Meng54834492016-05-11 07:44:58 -070017obj-$(CONFIG_SEABIOS) += coreboot_table.o
Simon Glass8e366502015-08-04 12:34:01 -060018obj-$(CONFIG_EFI) += efi/
Bin Meng59ec7192015-10-07 20:19:10 -070019obj-y += e820.o
Masahiro Yamada3954b732013-10-21 11:53:34 +090020obj-y += gcc.o
21obj-y += init_helpers.o
22obj-y += interrupts.o
Simon Glassa274e9c2015-03-26 09:29:28 -060023obj-y += lpc-uclass.o
Bin Meng7f5df8d2015-06-23 12:18:51 +080024obj-y += mpspec.o
Bin Mengf6220f12015-10-11 21:37:36 -070025obj-$(CONFIG_ENABLE_MRC_CACHE) += mrccache.o
Simon Glasscb3b2e62015-01-01 16:18:15 -070026obj-y += cmd_mtrr.o
Simon Glass55447572016-01-17 16:11:14 -070027obj-y += northbridge-uclass.o
Bin Mengda3fe242015-10-22 19:13:30 -070028obj-$(CONFIG_I8259_PIC) += i8259.o
29obj-$(CONFIG_I8254_TIMER) += i8254.o
Simon Glass7ac99be2016-03-11 22:07:13 -070030obj-y += pinctrl_ich6.o
Bin Mengb5b6b012015-04-24 18:10:05 +080031obj-y += pirq_routing.o
Masahiro Yamada3954b732013-10-21 11:53:34 +090032obj-y += relocate.o
33obj-y += physmem.o
Andy Shevchenkoca0d29e2017-04-01 16:21:34 +030034obj-$(CONFIG_INTEL_MID) += pmu.o
Simon Glass65dd74a2014-11-12 22:42:28 -070035obj-$(CONFIG_X86_RAMTEST) += ramtest.o
Felipe Balbibb416462017-04-01 16:21:33 +030036obj-$(CONFIG_INTEL_MID) += scu.o
Simon Glass65e4c0b2016-09-25 15:27:35 -060037obj-y += sections.o
Simon Glass6388e352015-04-28 20:25:10 -060038obj-y += sfi.o
Masahiro Yamada3954b732013-10-21 11:53:34 +090039obj-y += string.o
Bin Meng3a34cae2017-04-21 07:24:37 -070040obj-$(CONFIG_HAVE_ACPI_RESUME) += acpi_s3.o
Miao Yan34865a62016-05-22 19:37:10 -070041ifndef CONFIG_QEMU
Saket Sinha867bcb62015-08-22 12:20:55 +053042obj-$(CONFIG_GENERATE_ACPI_TABLE) += acpi_table.o
Miao Yanfa287b12016-01-20 01:57:06 -080043endif
Bin Meng5e2400e2015-04-24 18:10:04 +080044obj-y += tables.o
Simon Glassca5114f2017-01-16 07:04:13 -070045ifndef CONFIG_SPL_BUILD
Masahiro Yamada3954b732013-10-21 11:53:34 +090046obj-$(CONFIG_CMD_ZBOOT) += zimage.o
Simon Glassca5114f2017-01-16 07:04:13 -070047endif
Simon Glass1021af42015-01-27 22:13:36 -070048obj-$(CONFIG_HAVE_FSP) += fsp/
Simon Glass4bbc0242017-01-16 07:03:56 -070049obj-$(CONFIG_SPL_BUILD) += spl.o
wdenk2262cfe2002-11-18 00:14:45 +000050
Simon Glassb997abd2015-08-04 12:33:53 -060051extra-$(CONFIG_USE_PRIVATE_LIBGCC) += lib.a
wdenk2262cfe2002-11-18 00:14:45 +000052
Masahiro Yamadadd43fa22014-10-24 01:30:41 +090053NORMAL_LIBGCC = $(shell $(CC) $(PLATFORM_CPPFLAGS) -print-libgcc-file-name)
Masahiro Yamadab6e53eb2014-03-11 11:05:13 +090054OBJCOPYFLAGS := --prefix-symbols=__normal_
Masahiro Yamadadd43fa22014-10-24 01:30:41 +090055$(obj)/lib.a: $(NORMAL_LIBGCC) FORCE
Masahiro Yamadab6e53eb2014-03-11 11:05:13 +090056 $(call if_changed,objcopy)
Simon Glass2dcd4e92016-11-07 08:47:14 -070057
Simon Glasse1b610b2017-01-16 07:04:12 -070058ifeq ($(CONFIG_$(SPL_)X86_64),)
Simon Glass2dcd4e92016-11-07 08:47:14 -070059obj-$(CONFIG_EFI_APP) += crt0_ia32_efi.o reloc_ia32_efi.o
Simon Glasse1b610b2017-01-16 07:04:12 -070060endif
Simon Glass2dcd4e92016-11-07 08:47:14 -070061
62ifneq ($(CONFIG_EFI_STUB),)
63
64CFLAGS_REMOVE_reloc_ia32_efi.o += -mregparm=3
65CFLAGS_reloc_ia32_efi.o += -fpic -fshort-wchar
66
67# When building for 64-bit we must remove the i386-specific flags
68CFLAGS_REMOVE_reloc_x86_64_efi.o += -mregparm=3 -march=i386 -m32
69CFLAGS_reloc_x86_64_efi.o += -fpic -fshort-wchar
70
71AFLAGS_REMOVE_crt0_x86_64_efi.o += -mregparm=3 -march=i386 -m32
72AFLAGS_crt0_x86_64_efi.o += -fpic -fshort-wchar
73
74extra-$(CONFIG_EFI_STUB_32BIT) += crt0_ia32_efi.o reloc_ia32_efi.o
75extra-$(CONFIG_EFI_STUB_64BIT) += crt0_x86_64_efi.o reloc_x86_64_efi.o
Simon Glass5bd828b2016-11-07 08:47:15 -070076
77endif
78
Alexander Graf95b62b22016-11-17 22:40:10 +010079ifneq ($(CONFIG_EFI_STUB)$(CONFIG_CMD_BOOTEFI_HELLO_COMPILE),)
Simon Glasse1b610b2017-01-16 07:04:12 -070080ifeq ($(CONFIG_$(SPL_)X86_64),)
Simon Glass5bd828b2016-11-07 08:47:15 -070081extra-y += $(EFI_CRT0) $(EFI_RELOC)
Simon Glass2dcd4e92016-11-07 08:47:14 -070082endif
Simon Glasse1b610b2017-01-16 07:04:12 -070083endif