COMMON_CFLAGS = -fno-builtin -m32
COMMON_LDFLAGS = -melf_i386 -nostdlib
-# Used by various components. These rules need to precede them.
-script/lexer.c_DEPENDENCIES = grub_script.tab.h
-
-# Utilities.
-bin_UTILITIES = grub-mkimage
-
-# For grub-mkimage.
-grub_mkimage_SOURCES = gnulib/progname.c util/i386/efi/grub-mkimage.c \
- util/misc.c util/resolve.c
-util/i386/efi/grub-mkimage.c_DEPENDENCIES = Makefile
-
-# For grub-setup.
-#grub_setup_SOURCES = util/i386/pc/grub-setup.c util/hostdisk.c \
-# util/misc.c util/getroot.c kern/device.c kern/disk.c \
-# kern/err.c kern/misc.c fs/fat.c fs/ext2.c fs/xfs.c fs/affs.c \
-# fs/sfs.c kern/parser.c kern/partition.c partmap/msdos.c \
-# fs/ufs.c fs/ufs2.c fs/minix.c fs/hfs.c fs/jfs.c fs/hfsplus.c kern/file.c \
-# kern/fs.c kern/env.c fs/fshelp.c
-
-# Scripts.
-sbin_SCRIPTS = grub-install
-
-# For grub-install.
-grub_install_SOURCES = util/i386/efi/grub-install.in
-
-# Modules.
-pkglib_PROGRAMS = kernel.img
-pkglib_MODULES = chain.mod appleldr.mod \
- linux.mod halt.mod \
- datetime.mod loadbios.mod \
- fixvideo.mod mmap.mod acpi.mod
-
-# For kernel.img.
-kernel_img_RELOCATABLE = yes
-kernel_img_SOURCES = kern/i386/efi/startup.S kern/main.c kern/device.c \
- kern/disk.c kern/dl.c kern/file.c kern/fs.c kern/err.c \
- kern/misc.c kern/mm.c kern/term.c \
- kern/rescue_parser.c kern/rescue_reader.c \
- kern/$(target_cpu)/dl.c kern/i386/efi/init.c kern/parser.c kern/partition.c \
- kern/env.c symlist.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c \
- term/efi/console.c disk/efi/efidisk.c \
- kern/time.c kern/list.c kern/handler.c kern/command.c kern/corecmd.c \
- kern/i386/tsc.c kern/i386/pit.c \
- kern/generic/rtc_get_time_ms.c \
- kern/generic/millisleep.c
-kernel_img_HEADERS = boot.h cache.h device.h disk.h dl.h elf.h elfload.h \
- env.h err.h file.h fs.h kernel.h loader.h misc.h mm.h net.h parser.h \
- partition.h msdos_partition.h reader.h symbol.h term.h time.h types.h \
- efi/efi.h efi/time.h efi/disk.h i386/pit.h list.h handler.h command.h \
- i18n.h env_private.h
-kernel_img_CFLAGS = $(COMMON_CFLAGS)
-kernel_img_ASFLAGS = $(COMMON_ASFLAGS)
-kernel_img_LDFLAGS = $(COMMON_LDFLAGS)
-
-MOSTLYCLEANFILES += symlist.c
-MOSTLYCLEANFILES += symlist.c kernel_syms.lst
-DEFSYMFILES += kernel_syms.lst
-
-symlist.c: $(addprefix include/grub/,$(kernel_img_HEADERS)) config.h gensymlist.sh
- /bin/sh gensymlist.sh $(filter %.h,$^) > $@ || (rm -f $@; exit 1)
-
-kernel_syms.lst: $(addprefix include/grub/,$(kernel_img_HEADERS)) config.h genkernsyms.sh
- /bin/sh genkernsyms.sh $(filter %.h,$^) > $@ || (rm -f $@; exit 1)
-
-# For acpi.mod.
-acpi_mod_SOURCES = commands/acpi.c commands/efi/acpi.c
-acpi_mod_CFLAGS = $(COMMON_CFLAGS)
-acpi_mod_LDFLAGS = $(COMMON_LDFLAGS)
-
-# For mmap.mod.
-mmap_mod_SOURCES = mmap/mmap.c mmap/i386/uppermem.c mmap/i386/mmap.c \
- mmap/efi/mmap.c
-mmap_mod_CFLAGS = $(COMMON_CFLAGS)
-mmap_mod_LDFLAGS = $(COMMON_LDFLAGS)
-
-# For chain.mod.
-chain_mod_SOURCES = loader/efi/chainloader.c
-chain_mod_CFLAGS = $(COMMON_CFLAGS)
-chain_mod_LDFLAGS = $(COMMON_LDFLAGS)
-
-# For appleldr.mod.
-appleldr_mod_SOURCES = loader/efi/appleloader.c
-appleldr_mod_CFLAGS = $(COMMON_CFLAGS)
-appleldr_mod_LDFLAGS = $(COMMON_LDFLAGS)
-
-# For linux.mod.
-linux_mod_SOURCES = loader/i386/efi/linux.c
-linux_mod_CFLAGS = $(COMMON_CFLAGS)
-linux_mod_LDFLAGS = $(COMMON_LDFLAGS)
-
-# For halt.mod.
-halt_mod_SOURCES = commands/halt.c
-halt_mod_CFLAGS = $(COMMON_CFLAGS)
-halt_mod_LDFLAGS = $(COMMON_LDFLAGS)
-
-# For datetime.mod
-datetime_mod_SOURCES = lib/efi/datetime.c
-datetime_mod_CFLAGS = $(COMMON_CFLAGS)
-datetime_mod_LDFLAGS = $(COMMON_LDFLAGS)
-
-# For loadbios.mod
-loadbios_mod_SOURCES = commands/efi/loadbios.c
-loadbios_mod_CFLAGS = $(COMMON_CFLAGS)
-loadbios_mod_LDFLAGS = $(COMMON_LDFLAGS)
-
-# For fixvideo.mod
-fixvideo_mod_SOURCES = commands/efi/fixvideo.c
-fixvideo_mod_CFLAGS = $(COMMON_CFLAGS)
-fixvideo_mod_LDFLAGS = $(COMMON_LDFLAGS)
-
-pkglib_MODULES += efi_uga.mod
-efi_uga_mod_SOURCES = video/efi_uga.c
-efi_uga_mod_CFLAGS = $(COMMON_CFLAGS)
-efi_uga_mod_LDFLAGS = $(COMMON_LDFLAGS)
-
-pkglib_MODULES += efi_gop.mod
-efi_gop_mod_SOURCES = video/efi_gop.c
-efi_gop_mod_CFLAGS = $(COMMON_CFLAGS)
-efi_gop_mod_LDFLAGS = $(COMMON_LDFLAGS)
-
-pkglib_MODULES += xnu.mod
-xnu_mod_SOURCES = loader/xnu_resume.c loader/i386/xnu.c loader/i386/efi/xnu.c \
- loader/macho32.c loader/macho64.c loader/macho.c loader/xnu.c
-xnu_mod_CFLAGS = $(COMMON_CFLAGS)
-xnu_mod_LDFLAGS = $(COMMON_LDFLAGS)
-xnu_mod_ASFLAGS = $(COMMON_ASFLAGS)
-
-include $(srcdir)/conf/i386.mk
-include $(srcdir)/conf/common.mk
+include $(srcdir)/conf/x86-efi.mk
\ No newline at end of file
--- /dev/null
+# -*- makefile -*-
+
+# Used by various components. These rules need to precede them.
+script/lexer.c_DEPENDENCIES = grub_script.tab.h
+
+# Utilities.
+bin_UTILITIES = grub-mkimage
+
+# For grub-mkimage.
+grub_mkimage_SOURCES = gnulib/progname.c util/i386/efi/grub-mkimage.c \
+ util/misc.c util/resolve.c
+util/i386/efi/grub-mkimage.c_DEPENDENCIES = Makefile
+
+# For grub-setup.
+#grub_setup_SOURCES = util/i386/pc/grub-setup.c util/hostdisk.c \
+# util/misc.c util/getroot.c kern/device.c kern/disk.c \
+# kern/err.c kern/misc.c fs/fat.c fs/ext2.c fs/xfs.c fs/affs.c \
+# fs/sfs.c kern/parser.c kern/partition.c partmap/msdos.c \
+# fs/ufs.c fs/ufs2.c fs/minix.c fs/hfs.c fs/jfs.c fs/hfsplus.c kern/file.c \
+# kern/fs.c kern/env.c fs/fshelp.c
+
+# Scripts.
+sbin_SCRIPTS = grub-install
+
+# For grub-install.
+grub_install_SOURCES = util/i386/efi/grub-install.in
+
+# Modules.
+pkglib_PROGRAMS = kernel.img
+pkglib_MODULES = chain.mod appleldr.mod \
+ linux.mod halt.mod \
+ datetime.mod loadbios.mod \
+ fixvideo.mod mmap.mod acpi.mod
+
+# For kernel.img.
+kernel_img_RELOCATABLE = yes
+kernel_img_SOURCES = kern/$(target_cpu)/efi/startup.S kern/main.c kern/device.c \
+ kern/disk.c kern/dl.c kern/file.c kern/fs.c kern/err.c \
+ kern/misc.c kern/mm.c kern/term.c \
+ kern/rescue_parser.c kern/rescue_reader.c \
+ kern/$(target_cpu)/dl.c kern/i386/efi/init.c kern/parser.c kern/partition.c \
+ kern/env.c symlist.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c \
+ term/efi/console.c disk/efi/efidisk.c \
+ kern/time.c kern/list.c kern/handler.c kern/command.c kern/corecmd.c \
+ kern/i386/tsc.c kern/i386/pit.c \
+ kern/generic/rtc_get_time_ms.c \
+ kern/generic/millisleep.c
+ifeq ($(target_cpu),x86_64)
+kernel_img_SOURCES += kern/x86_64/efi/callwrap.S
+endif
+kernel_img_HEADERS = boot.h cache.h device.h disk.h dl.h elf.h elfload.h \
+ env.h err.h file.h fs.h kernel.h loader.h misc.h mm.h net.h parser.h \
+ partition.h msdos_partition.h reader.h symbol.h term.h time.h types.h \
+ efi/efi.h efi/time.h efi/disk.h i386/pit.h list.h handler.h command.h \
+ i18n.h env_private.h
+kernel_img_CFLAGS = $(COMMON_CFLAGS)
+kernel_img_ASFLAGS = $(COMMON_ASFLAGS)
+kernel_img_LDFLAGS = $(COMMON_LDFLAGS)
+
+MOSTLYCLEANFILES += symlist.c
+MOSTLYCLEANFILES += symlist.c kernel_syms.lst
+DEFSYMFILES += kernel_syms.lst
+
+symlist.c: $(addprefix include/grub/,$(kernel_img_HEADERS)) config.h gensymlist.sh
+ /bin/sh gensymlist.sh $(filter %.h,$^) > $@ || (rm -f $@; exit 1)
+
+kernel_syms.lst: $(addprefix include/grub/,$(kernel_img_HEADERS)) config.h genkernsyms.sh
+ /bin/sh genkernsyms.sh $(filter %.h,$^) > $@ || (rm -f $@; exit 1)
+
+# For acpi.mod.
+acpi_mod_SOURCES = commands/acpi.c commands/efi/acpi.c
+acpi_mod_CFLAGS = $(COMMON_CFLAGS)
+acpi_mod_LDFLAGS = $(COMMON_LDFLAGS)
+
+# For mmap.mod.
+mmap_mod_SOURCES = mmap/mmap.c mmap/i386/uppermem.c mmap/i386/mmap.c \
+ mmap/efi/mmap.c
+mmap_mod_CFLAGS = $(COMMON_CFLAGS)
+mmap_mod_LDFLAGS = $(COMMON_LDFLAGS)
+
+# For chain.mod.
+chain_mod_SOURCES = loader/efi/chainloader.c
+chain_mod_CFLAGS = $(COMMON_CFLAGS)
+chain_mod_LDFLAGS = $(COMMON_LDFLAGS)
+
+# For appleldr.mod.
+appleldr_mod_SOURCES = loader/efi/appleloader.c
+appleldr_mod_CFLAGS = $(COMMON_CFLAGS)
+appleldr_mod_LDFLAGS = $(COMMON_LDFLAGS)
+
+# For linux.mod.
+linux_mod_SOURCES = loader/i386/efi/linux.c
+ifeq ($(target_cpu), x86_64)
+linux_mod_SOURCES += loader/i386/linux_trampoline.S
+endif
+linux_mod_CFLAGS = $(COMMON_CFLAGS)
+linux_mod_ASFLAGS = $(COMMON_ASFLAGS)
+linux_mod_LDFLAGS = $(COMMON_LDFLAGS)
+
+# For halt.mod.
+halt_mod_SOURCES = commands/halt.c
+halt_mod_CFLAGS = $(COMMON_CFLAGS)
+halt_mod_LDFLAGS = $(COMMON_LDFLAGS)
+
+# For datetime.mod
+datetime_mod_SOURCES = lib/efi/datetime.c
+datetime_mod_CFLAGS = $(COMMON_CFLAGS)
+datetime_mod_LDFLAGS = $(COMMON_LDFLAGS)
+
+# For loadbios.mod
+loadbios_mod_SOURCES = commands/efi/loadbios.c
+loadbios_mod_CFLAGS = $(COMMON_CFLAGS)
+loadbios_mod_LDFLAGS = $(COMMON_LDFLAGS)
+
+# For fixvideo.mod
+fixvideo_mod_SOURCES = commands/efi/fixvideo.c
+fixvideo_mod_CFLAGS = $(COMMON_CFLAGS)
+fixvideo_mod_LDFLAGS = $(COMMON_LDFLAGS)
+
+pkglib_MODULES += efi_uga.mod
+efi_uga_mod_SOURCES = video/efi_uga.c
+efi_uga_mod_CFLAGS = $(COMMON_CFLAGS)
+efi_uga_mod_LDFLAGS = $(COMMON_LDFLAGS)
+
+pkglib_MODULES += efi_gop.mod
+efi_gop_mod_SOURCES = video/efi_gop.c
+efi_gop_mod_CFLAGS = $(COMMON_CFLAGS)
+efi_gop_mod_LDFLAGS = $(COMMON_LDFLAGS)
+
+pkglib_MODULES += xnu.mod
+xnu_mod_SOURCES = loader/xnu_resume.c loader/i386/xnu.c loader/i386/efi/xnu.c \
+ loader/macho32.c loader/macho64.c loader/macho.c loader/xnu.c
+xnu_mod_CFLAGS = $(COMMON_CFLAGS)
+xnu_mod_LDFLAGS = $(COMMON_LDFLAGS)
+xnu_mod_ASFLAGS = $(COMMON_ASFLAGS)
+
+include $(srcdir)/conf/i386.mk
+include $(srcdir)/conf/common.mk
COMMON_CFLAGS = -fno-builtin -m64
COMMON_LDFLAGS = -melf_x86_64 -nostdlib
-# Used by various components. These rules need to precede them.
-script/lexer.c_DEPENDENCIES = grub_script.tab.h
-
-# Utilities.
-bin_UTILITIES = grub-mkimage
-
-# For grub-mkimage.
-grub_mkimage_SOURCES = gnulib/progname.c util/i386/efi/grub-mkimage.c \
- util/misc.c util/resolve.c
-
-# For grub-setup.
-#grub_setup_SOURCES = util/i386/pc/grub-setup.c util/hostdisk.c \
-# util/misc.c util/getroot.c kern/device.c kern/disk.c \
-# kern/err.c kern/misc.c fs/fat.c fs/ext2.c fs/xfs.c fs/affs.c \
-# fs/sfs.c kern/parser.c kern/partition.c partmap/msdos.c \
-# fs/ufs.c fs/ufs2.c fs/minix.c fs/hfs.c fs/jfs.c fs/hfsplus.c kern/file.c \
-# kern/fs.c kern/env.c fs/fshelp.c
-
-# Scripts.
-sbin_SCRIPTS = grub-install
-
-# For grub-install.
-grub_install_SOURCES = util/i386/efi/grub-install.in
-
-# Modules.
-pkglib_PROGRAMS = kernel.img
-pkglib_MODULES = chain.mod appleldr.mod \
- halt.mod linux.mod \
- datetime.mod loadbios.mod \
- fixvideo.mod mmap.mod acpi.mod
-
-# For kernel.img.
-kernel_img_RELOCATABLE = yes
-kernel_img_SOURCES = kern/x86_64/efi/startup.S kern/x86_64/efi/callwrap.S \
- kern/main.c kern/device.c \
- kern/disk.c kern/dl.c kern/file.c kern/fs.c kern/err.c \
- kern/misc.c kern/mm.c kern/term.c \
- kern/rescue_parser.c kern/rescue_reader.c \
- kern/$(target_cpu)/dl.c kern/i386/efi/init.c kern/parser.c kern/partition.c \
- kern/env.c symlist.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c \
- kern/time.c kern/list.c kern/handler.c kern/command.c kern/corecmd.c \
- kern/i386/tsc.c kern/i386/pit.c \
- kern/generic/millisleep.c kern/generic/rtc_get_time_ms.c \
- term/efi/console.c disk/efi/efidisk.c
-kernel_img_HEADERS = boot.h cache.h device.h disk.h dl.h elf.h elfload.h \
- env.h err.h file.h fs.h kernel.h loader.h misc.h mm.h net.h parser.h \
- partition.h msdos_partition.h reader.h symbol.h term.h time.h types.h \
- efi/efi.h efi/time.h efi/disk.h machine/loader.h i386/pit.h list.h \
- handler.h command.h i18n.h env_private.h
-kernel_img_CFLAGS = $(COMMON_CFLAGS)
-kernel_img_ASFLAGS = $(COMMON_ASFLAGS)
-kernel_img_LDFLAGS = $(COMMON_LDFLAGS)
-
-MOSTLYCLEANFILES += symlist.c
-MOSTLYCLEANFILES += symlist.c kernel_syms.lst
-DEFSYMFILES += kernel_syms.lst
-
-symlist.c: $(addprefix include/grub/,$(kernel_img_HEADERS)) config.h gensymlist.sh
- /bin/sh gensymlist.sh $(filter %.h,$^) > $@ || (rm -f $@; exit 1)
-
-kernel_syms.lst: $(addprefix include/grub/,$(kernel_img_HEADERS)) config.h genkernsyms.sh
- /bin/sh genkernsyms.sh $(filter %.h,$^) > $@ || (rm -f $@; exit 1)
-
-# For acpi.mod.
-acpi_mod_SOURCES = commands/acpi.c commands/efi/acpi.c
-acpi_mod_CFLAGS = $(COMMON_CFLAGS)
-acpi_mod_LDFLAGS = $(COMMON_LDFLAGS)
-
-# For mmap.mod.
-mmap_mod_SOURCES = mmap/mmap.c mmap/i386/uppermem.c mmap/i386/mmap.c \
- mmap/efi/mmap.c
-mmap_mod_CFLAGS = $(COMMON_CFLAGS)
-mmap_mod_LDFLAGS = $(COMMON_LDFLAGS)
-
-# For chain.mod.
-chain_mod_SOURCES = loader/efi/chainloader.c
-chain_mod_CFLAGS = $(COMMON_CFLAGS)
-chain_mod_LDFLAGS = $(COMMON_LDFLAGS)
-
-# For appleldr.mod.
-appleldr_mod_SOURCES = loader/efi/appleloader.c
-appleldr_mod_CFLAGS = $(COMMON_CFLAGS)
-appleldr_mod_LDFLAGS = $(COMMON_LDFLAGS)
-
-# For linux.mod.
-linux_mod_SOURCES = loader/i386/efi/linux.c loader/i386/linux_trampoline.S
-linux_mod_CFLAGS = $(COMMON_CFLAGS)
-linux_mod_ASFLAGS = $(COMMON_ASFLAGS)
-linux_mod_LDFLAGS = $(COMMON_LDFLAGS)
-
-# For halt.mod.
-halt_mod_SOURCES = commands/halt.c
-halt_mod_CFLAGS = $(COMMON_CFLAGS)
-halt_mod_LDFLAGS = $(COMMON_LDFLAGS)
-
-# For datetime.mod
-datetime_mod_SOURCES = lib/efi/datetime.c
-datetime_mod_CFLAGS = $(COMMON_CFLAGS)
-datetime_mod_LDFLAGS = $(COMMON_LDFLAGS)
-
-# For loadbios.mod
-loadbios_mod_SOURCES = commands/efi/loadbios.c
-loadbios_mod_CFLAGS = $(COMMON_CFLAGS)
-loadbios_mod_LDFLAGS = $(COMMON_LDFLAGS)
-
-# For fixvideo.mod
-fixvideo_mod_SOURCES = commands/efi/fixvideo.c
-fixvideo_mod_CFLAGS = $(COMMON_CFLAGS)
-fixvideo_mod_LDFLAGS = $(COMMON_LDFLAGS)
-
-pkglib_MODULES += efi_uga.mod
-efi_uga_mod_SOURCES = video/efi_uga.c
-efi_uga_mod_CFLAGS = $(COMMON_CFLAGS)
-efi_uga_mod_LDFLAGS = $(COMMON_LDFLAGS)
-
-pkglib_MODULES += efi_gop.mod
-efi_gop_mod_SOURCES = video/efi_gop.c
-efi_gop_mod_CFLAGS = $(COMMON_CFLAGS)
-efi_gop_mod_LDFLAGS = $(COMMON_LDFLAGS)
-
-pkglib_MODULES += xnu.mod
-xnu_mod_SOURCES = loader/xnu_resume.c loader/i386/xnu.c loader/i386/efi/xnu.c \
- loader/macho32.c loader/macho64.c loader/macho.c loader/xnu.c
-xnu_mod_CFLAGS = $(COMMON_CFLAGS)
-xnu_mod_LDFLAGS = $(COMMON_LDFLAGS)
-xnu_mod_ASFLAGS = $(COMMON_ASFLAGS)
-
-include $(srcdir)/conf/i386.mk
-include $(srcdir)/conf/common.mk
+include $(srcdir)/conf/x86-efi.mk