summaryrefslogtreecommitdiffstats
path: root/arch/x86/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/Makefile')
-rw-r--r--arch/x86/Makefile83
1 files changed, 23 insertions, 60 deletions
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 4d471c2f8a..647d075f01 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -1,62 +1,46 @@
-KBUILD_DEFCONFIG := generic_defconfig
+# SPDX-License-Identifier: GPL-2.0-only
-CPPFLAGS += -D__X86__
+KBUILD_DEFCONFIG := efi_defconfig
-board-$(CONFIG_MACH_X86_GENERIC) := x86_generic
+KBUILD_CPPFLAGS += -D__X86__
TEXT_BASE = $(CONFIG_TEXT_BASE)
-ifeq ($(CONFIG_X86_EFI),y)
machine-y := efi
-CFLAGS += -fpic -fshort-wchar -mno-sse -mno-mmx
+KBUILD_CFLAGS += -fpic -mno-sse -mno-mmx
ifeq ($(CONFIG_X86_32),y)
TARGET = efi-app-ia32
else
TARGET = efi-app-x86_64
endif
-else
-CPPFLAGS += -fno-strict-aliasing
-CPPFLAGS += -march=i386 -DTEXT_BASE=$(TEXT_BASE) \
- -fno-unwind-tables -fno-asynchronous-unwind-tables
-
-machine-y := i386
-endif
ifeq ($(CONFIG_X86_32),y)
UTS_MACHINE := i386
biarch := $(call cc-option,-m32)
- AFLAGS += $(biarch)
- CFLAGS += $(biarch)
- CPPFLAGS += $(biarch)
+ KBUILD_AFLAGS += $(biarch)
+ KBUILD_CFLAGS += $(biarch)
+ KBUILD_CPPFLAGS += $(biarch)
else
UTS_MACHINE := x86_64
- AFLAGS += -m64
- CFLAGS += -m64 -mno-red-zone
- CPPFLAGS += -m64
+ KBUILD_AFLAGS += -m64
+ KBUILD_CFLAGS += -m64 -mno-red-zone
+ KBUILD_CPPFLAGS += -m64
endif
ifndef CONFIG_MODULES
# Add cleanup flags
-ifneq ($(CONFIG_X86_EFI),y)
-CPPFLAGS += -fdata-sections -ffunction-sections
+ifeq ($(CONFIG_X86_EFI),y)
+LDFLAGS_barebox += -shared -Bsymbolic -znocombreloc
+else
+KBUILD_CPPFLAGS += -fdata-sections -ffunction-sections
LDFLAGS_barebox += -static --gc-sections
endif
endif
machdirs := $(patsubst %,arch/x86/mach-%/,$(machine-y))
-ifeq ($(KBUILD_SRC),)
-CPPFLAGS += $(patsubst %,-I%include,$(machdirs))
-else
-CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs))
-endif
-
-ifneq ($(board-y),)
-BOARD := arch/x86/boards/$(board-y)/
-else
-BOARD :=
-endif
+KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs))
ifneq ($(machine-y),)
MACH := arch/x86/mach-$(machine-y)/
@@ -64,48 +48,27 @@ else
MACH :=
endif
-common-y += $(BOARD) $(MACH)
+common-y += $(MACH)
common-y += arch/x86/lib/
-common-$(CONFIG_X86_BIOS_BRINGUP) += arch/x86/bios/
# arch/x86/cpu/
-ifeq ($(CONFIG_X86_EFI),y)
lds-$(CONFIG_X86_32) := arch/x86/mach-efi/elf_ia32_efi.lds
lds-$(CONFIG_X86_64) := arch/x86/mach-efi/elf_x86_64_efi.lds
-cmd_barebox__ ?= $(LD) $(LDFLAGS) $(LDFLAGS_barebox) -o $@ \
- -T $(lds-y) \
- -shared -Bsymbolic -nostdlib -znocombreloc \
- --start-group $(BAREBOX_OBJS) \
- --end-group \
- $(filter-out $(BAREBOX_LDS) $(BAREBOX_OBJS) FORCE ,$^)
-
-quiet_cmd_efi_image = EFI-IMG $@
- cmd_efi_image = $(OBJCOPY) -j .text -j .sdata -j .data -j .dynamic \
- -j .dynsym -j .rel -j .rela -j .reloc -j __barebox_initcalls \
- -j __barebox_exitcalls -j __barebox_cmd -j .barebox_magicvar \
- -j .bbenv.* -j .bblogo.* --target=$(TARGET) $< $@
-
KBUILD_BINARY := barebox
-LDFLAGS := --no-undefined
+KBUILD_LDFLAGS := --no-undefined
+
+OBJCOPYFLAGS_barebox.efi = \
+ -j .text -j .sdata -j .data -j .dynamic -j .dynsym -j .rel -j .rela \
+ -j .reloc -j .bbenv.* -j .bblogo.* -j .barebox_imd --target=$(TARGET)
barebox.efi: $(KBUILD_BINARY) FORCE
- $(call if_changed,efi_image)
+ $(call if_changed,objcopy)
KBUILD_IMAGE := barebox.efi
-else
-common-y += arch/x86/boot/
-
-lds-$(CONFIG_GENERIC_LINKER_SCRIPT) := arch/x86/lib/barebox.lds
-lds-$(CONFIG_BOARD_LINKER_SCRIPT) := $(BOARD)/barebox.lds
-
-endif
-
-LDFLAGS += -m elf_$(UTS_MACHINE)
+KBUILD_LDFLAGS += -m elf_$(UTS_MACHINE)
CLEAN_FILES += $(lds-y)
-CLEAN_FILES += arch/x86/lib/barebox.lds barebox.map barebox.S
-