[syslinux] [PATCH 0/4] efi: Makefile improvement

Gene Cumm gene.cumm at gmail.com
Sun Sep 20 05:58:48 PDT 2015


On Sun, Sep 13, 2015 at 11:50 PM, celelibi--- via Syslinux
<syslinux at zytor.com> wrote:
> From: Sylvain Gault <sylvain.gault at gmail.com>
>
> These few patches contain a few improvement about the Makefiles for EFI.
> Mainly, to rebuild the files when needed, and only when needed. The three shell
> scripts efi/{check,build,clean}-gnu-efi.sh disappeared and are now integrated
> as makefile recipes.
>
> You'll notice an argument ARFLAGS=rvU to the recursive make calls to gnu-efi.
> This is because, the default value is just "rv" and gnu-efi uses the implicit
> rules of make that uses $(ARFLAGS). Without the U flag, the timestamp of the
> members of the generated archive is set to 0, which is always outdated from the
> make's point of view, and thus always rebuilt.
>
> This U flags forces ar to write the actual timestamp of the file in the
> archive, which may not be the default behavior of every distribution (no longer
> the default in Debian apparently). I will probably submit a patch to add this
> flag in the gnu-efi Makefiles.
>
> Once this patch merged in gnu-efi, and our gnu-efi submodule updated, those
> ARFLAGS argument shall be removed.
>
> Sylvain Gault
>
>
> Sylvain Gault (4):
>   efi: Don't unnecessarily rebuild syslinux.so

Merged.

>   efi: Proper dependencies to gnu-efi
>   mk/efi.mk: Build gnu-efi with the Makefile
>   efi: move clean-gnu-efi.sh to mk/efi.mk

Delayed as you've requested.  As I stated, I believe a major reason
for the scripts were to minimize the impact of Syslinux make
environment tweaks over the gnu-efi build.

Also, a major reason gnu-efi was pulled into the source rather than
using the system libraries is that early on, it required certain
changes that were only present in the git repo and not any official
gnu-efi release.  An advantage of the submodule is that we know
exactly which commit of gnu-efi was used to build a certain version.
As stated, it's easy to change versions with an extra git command
before a build.  Selectively building against the system gnu-efi
libraries would first require a version check and a make variable like
USE_SYS_GNUEFI or GNUEFI_FROM_SYS.

When we look at updating gnu-efi, I have a patch that'll be necessary
(posted months ago).  I'd like to make updating gnu-efi a discrete
pre-release as it might introduce unforeseen issues.  This means, once
6.04-pre1 is released, merge my patch, update gnu-efi submodule and
immediately release 6.04-pre2.  If someone notices an issue with
6.04-pre2, they can immediately test 6.04-pre1 to test if the gnu-efi
update broke it.

-- 
-Gene


More information about the Syslinux mailing list