On Tue, 9 Apr 2019 15:45:36 +0200 Philippe Mathieu-Daudé <phi...@redhat.com> wrote:
> Since commit f590a812c210 we build the EDK2 EfiRom utility > unconditionally. > > Some distributions require to use extra compiler/linker flags, > i.e. SUSE which enforces the PIE protection (see [*]). > > EDK2 build tools already provide a set of variables for that, > use them to allow the caller to easily inject compiler/linker > options.. > > Now build scripts can pass extra options, example: > > $ make -C roms \ > EDK2_BASETOOLS_OPTFLAGS='-fPIE' \ > efirom > > [*] https://lists.opensuse.org/opensuse-factory/2017-06/msg00403.html > > Reported-by: Olaf Hering <o...@aepfle.de> > Suggested-by: Laszlo Ersek <ler...@redhat.com> > Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com> Reviewed-by: Igor Mammedov <imamm...@redhat.com> > --- > roms/Makefile | 15 ++++++++++++++- > 1 file changed, 14 insertions(+), 1 deletion(-) > > diff --git a/roms/Makefile b/roms/Makefile > index d28252dafdf..1ff78b63bb3 100644 > --- a/roms/Makefile > +++ b/roms/Makefile > @@ -120,8 +120,21 @@ build-efi-roms: build-pxe-roms > $(patsubst %,bin-i386-efi/%.efidrv,$(pxerom_targets)) \ > $(patsubst %,bin-x86_64-efi/%.efidrv,$(pxerom_targets)) > > +# Build scripts can pass compiler/linker flags to the EDK2 build tools > +# via the EDK2_BASETOOLS_OPTFLAGS (CPPFLAGS and CFLAGS) and > +# EDK2_BASETOOLS_LDFLAGS (LDFLAGS) environment variables. > +# > +# Example: > +# > +# make -C roms \ > +# EDK2_BASETOOLS_OPTFLAGS='...' \ > +# EDK2_BASETOOLS_LDFLAGS='...' \ > +# efirom > +# > $(EDK2_EFIROM): > - $(MAKE) -C edk2/BaseTools > + $(MAKE) -C edk2/BaseTools \ > + EXTRA_OPTFLAGS='$(EDK2_BASETOOLS_OPTFLAGS)' \ > + EXTRA_LDFLAGS='$(EDK2_BASETOOLS_LDFLAGS)' > > slof: > $(MAKE) -C SLOF CROSS=$(powerpc64_cross_prefix) qemu