# bypasses regular automake to provide absolute control on compiler and linker
# flags.
efi_loadername = gummiboot$(MACHINE_TYPE_NAME).efi
-efi_sources = src/efi/gummiboot.c
+efi_sources = \
+ src/efi/util.c \
+ src/efi/console.c \
+ src/efi/graphics.c \
+ src/efi/gummiboot.c
+
+efi_headers = \
+ src/efi/util.h \
+ src/efi/console.h \
+ src/efi/graphics.h
-EFI_INCDIR = /usr/include
efi_cppflags = \
$(EFI_CPPFLAGS) \
-I$(top_builddir) -include config.h \
- -I$(EFI_INCDIR)/efi \
- -I$(EFI_INCDIR)/efi/$(ARCH)
+ -I$(EFI_INC_DIR)/efi \
+ -I$(EFI_INC_DIR)/efi/$(ARCH) \
+ -DMACHINE_TYPE_NAME=\"$(MACHINE_TYPE_NAME)\"
efi_cflags = \
$(EFI_CFLAGS) \
efi_ldflags = \
$(EFI_LDLAGS) \
- -T $(GNUEFI_LDS_DIR)/elf_$(ARCH)_efi.lds \
+ -T $(EFI_LDS_DIR)/elf_$(ARCH)_efi.lds \
-shared \
-Bsymbolic \
-nostdlib \
-znocombreloc \
- $(GNUEFI_LIBS) \
- $(GNUEFI_LDS_DIR)/crt0-efi-$(ARCH).o
+ -L $(EFI_LIB_DIR) \
+ $(EFI_LDS_DIR)/crt0-efi-$(ARCH).o
efi_objects = $(addprefix $(top_builddir)/,$(efi_sources:.c=.o))
efi_solib = $(top_builddir)/src/efi/gummiboot.so
# ------------------------------------------------------------------------------
gummibootlib_DATA = $(efi_loadername)
CLEANFILES += $(efi_objects) $(efi_solib) $(efi_loadername)
-EXTRA_DIST += $(efi_sources)
+EXTRA_DIST += $(efi_sources) $(efi_headers)
-$(top_builddir)/src/efi/%.o: $(top_srcdir)/src/efi/%.c
+$(top_builddir)/src/efi/%.o: $(top_srcdir)/src/efi/%.c $(addprefix $(top_srcdir)/,$(efi_headers))
@$(MKDIR_P) $(top_builddir)/src/efi/
- $(AM_V_CC)$(GNUEFI_CC) $(efi_cppflags) $(efi_cflags) -c $< -o $@
+ $(AM_V_CC)$(EFI_CC) $(efi_cppflags) $(efi_cflags) -c $< -o $@
$(efi_solib): $(efi_objects)
$(AM_V_CCLD)$(LD) $(efi_ldflags) $(efi_objects) \
--target=efi-app-$(ARCH) $< $@
# ------------------------------------------------------------------------------
-CLEANFILES += test-disk
+CLEANFILES += test-disk.img
EXTRA_DIST += test/test-create-disk.sh
-test-disk: gummiboot$(MACHINE_TYPE_NAME).efi test/test-create-disk.sh
+test-disk.img: gummiboot$(MACHINE_TYPE_NAME).efi test/test-create-disk.sh
$(AM_V_GEN)test/test-create-disk.sh
-qemu: test-disk
- $(QEMU_KVM) -m 256 -L $(BIOS) -snapshot test-disk
+qemu: test-disk.img
+ $(QEMU) -machine accel=kvm -m 256 -bios $(QEMU_BIOS) -snapshot test-disk.img
install-tree: all
rm -rf $(abs_srcdir)/install-tree