# -*- Mode: makefile; indent-tabs-mode: t -*- # # This file is part of systemd. # # Copyright 2010-2012 Lennart Poettering # Copyright 2010-2012 Kay Sievers # Copyright 2013 Zbigniew Jędrzejewski-Szmek # Copyright 2013 David Strauss # Copyright 2016 Luke Shumaker # # systemd is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. # # systemd is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with systemd; If not, see . systemd_boot_headers = \ src/boot/efi/util.h \ src/boot/efi/console.h \ src/boot/efi/graphics.h \ src/boot/efi/pefile.h \ src/boot/efi/disk.h systemd_boot_sources = \ src/boot/efi/util.c \ src/boot/efi/console.c \ src/boot/efi/graphics.c \ src/boot/efi/pefile.c \ src/boot/efi/disk.c \ src/boot/efi/boot.c EXTRA_DIST += $(systemd_boot_sources) $(systemd_boot_headers) systemd_boot_objects = $(addprefix $(top_builddir)/,$(systemd_boot_sources:.c=.o)) systemd_boot_solib = $(top_builddir)/src/boot/efi/systemd_boot.so systemd_boot = systemd-boot$(EFI_MACHINE_TYPE_NAME).efi if ENABLE_EFI if HAVE_GNUEFI bootlib_DATA = $(systemd_boot) $(top_builddir)/src/boot/efi/%.o: $(top_srcdir)/src/boot/efi/%.c $(addprefix $(top_srcdir)/,$(systemd_boot_headers)) @$(MKDIR_P) $(top_builddir)/src/boot/efi/ $(AM_V_CC)$(EFI_CC) $(efi_cppflags) $(efi_cflags) -c $< -o $@ $(systemd_boot_solib): $(systemd_boot_objects) $(AM_V_CCLD)$(LD) $(efi_ldflags) $(systemd_boot_objects) \ -o $@ -lefi -lgnuefi $(shell $(CC) -print-libgcc-file-name); \ nm -D -u $@ | grep ' U ' && exit 1 || : $(systemd_boot): $(systemd_boot_solib) $(AM_V_GEN)$(OBJCOPY) -j .text -j .sdata -j .data -j .dynamic \ -j .dynsym -j .rel -j .rela -j .reloc $(EFI_FORMAT) $< $@ endif endif CLEANFILES += $(systemd_boot_objects) $(systemd_boot_solib) $(systemd_boot) # ------------------------------------------------------------------------------ stub_headers = \ src/boot/efi/util.h \ src/boot/efi/pefile.h \ src/boot/efi/disk.h \ src/boot/efi/graphics.h \ src/boot/efi/splash.h \ src/boot/efi/linux.h stub_sources = \ src/boot/efi/util.c \ src/boot/efi/pefile.c \ src/boot/efi/disk.c \ src/boot/efi/graphics.c \ src/boot/efi/splash.c \ src/boot/efi/linux.c \ src/boot/efi/stub.c EXTRA_DIST += \ $(stub_sources) \ $(stub_headers) \ test/splash.bmp stub_objects = $(addprefix $(top_builddir)/,$(stub_sources:.c=.o)) stub_solib = $(top_builddir)/src/boot/efi/stub.so stub = linux$(EFI_MACHINE_TYPE_NAME).efi.stub if ENABLE_EFI if HAVE_GNUEFI bootlib_DATA += $(stub) $(top_builddir)/src/boot/efi/%.o: $(top_srcdir)/src/boot/efi/%.c $(addprefix $(top_srcdir)/,$(stub_headers)) @$(MKDIR_P) $(top_builddir)/src/boot/efi/ $(AM_V_CC)$(EFI_CC) $(efi_cppflags) $(efi_cflags) -c $< -o $@ $(stub_solib): $(stub_objects) $(AM_V_CCLD)$(LD) $(efi_ldflags) $(stub_objects) \ -o $@ -lefi -lgnuefi $(shell $(CC) -print-libgcc-file-name); \ nm -D -u $@ | grep ' U ' && exit 1 || : $(stub): $(stub_solib) $(AM_V_GEN)$(OBJCOPY) -j .text -j .sdata -j .data -j .dynamic \ -j .dynsym -j .rel -j .rela -j .reloc $(EFI_FORMAT) $< $@ endif endif CLEANFILES += $(stub_objects) $(stub_solib) $(stub) # ------------------------------------------------------------------------------ CLEANFILES += test-efi-disk.img test-efi-disk.img: $(systemd_boot) $(stub) test/test-efi-create-disk.sh $(AM_V_GEN)test/test-efi-create-disk.sh test-efi: test-efi-disk.img $(QEMU) -machine accel=kvm -m 1024 -bios $(QEMU_BIOS) -snapshot test-efi-disk.img EXTRA_DIST += test/test-efi-create-disk.sh