[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH RESEND v3 0/2] Makefile: libfdt: build only the strict necess
From: |
Claudio Fontana |
Subject: |
Re: [PATCH RESEND v3 0/2] Makefile: libfdt: build only the strict necessary |
Date: |
Wed, 15 Apr 2020 10:16:52 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 |
On 4/14/20 4:03 AM, David Gibson wrote:
> On Sat, Apr 11, 2020 at 11:31:48AM +0200, Claudio Fontana wrote:
>> v2 -> v3:
>>
>> * changed into a 2 patch series; in the second patch we remove the old
>> compatibility gunks that were meant for removal some time after 4.1.
>>
>> * renamed the libfdt PHONY rule to dtc/all, with the intent to make
>> existing working trees forward and backward compatible across the change.
>>
>> v1 -> v2:
>>
>> * fix error generated when running UNCHECKED_GOALS without prior configure,
>> for example during make docker-image-fedora. Without configure, DSOSUF is
>> empty, and the module pattern rule in rules.mak that uses this variable
>> can match too much; provide a default in the Makefile to avoid it.
>>
>> * only attempt to build the archive when there is a non-empty list of
>> objects.
>> This could be done in general for the %.a: pattern in rules.mak, but maybe
>> there are valid reasons to build an empty .a?
>>
>> * removed some intermediate variables that did not add much value
>> (LIBFDT_srcdir, LIBFDT_archive)
>>
>> Tested locally with 3 VPATH configurations (no-, VPATH, VPATH in src subdir),
>> and with docker-image-fedora, docker-test-debug@fedora that failed
>> before.
>
> Seems reasonable to me. It's a bit of a shame that we can't use the
> dtc makefiles more simply for this. But I don't quickly know how to
> fix them upstream to allow that.
Hi David,
I tried to look at dtc upstream makefiles, I don't see a perfect solution at
the moment.
I came up with this idea though (not fully tested..) that _could_ work, ie
special casing the libfdt target when it is the only goal in MAKECMDGOALS.
Any thoughts?
Ciao,
Claudio
diff --git a/Makefile b/Makefile
index f02aa19..cb256e8 100644
--- a/Makefile
+++ b/Makefile
@@ -176,6 +176,7 @@ endif
ifneq ($(DEPTARGETS),)
+ifneq ($(MAKECMDGOALS),libfdt)
-include $(DTC_OBJS:%.o=%.d)
-include $(CONVERT_OBJS:%.o=%.d)
-include $(FDTDUMP_OBJS:%.o=%.d)
@@ -183,6 +184,7 @@ ifneq ($(DEPTARGETS),)
-include $(FDTPUT_OBJS:%.o=%.d)
-include $(FDTOVERLAY_OBJS:%.o=%.d)
endif
+endif
@@ -318,7 +320,9 @@ ifeq ($(NO_PYTHON),0)
TESTS_PYLIBFDT += maybe_pylibfdt
endif
+ifneq ($(MAKECMDGOALS),libfdt)
include tests/Makefile.tests
+endif
#
# Clean rules
>
>>
>> Claudio Fontana (2):
>> Makefile: libfdt: build only the strict necessary
>> Makefile: remove old compatibility gunks
>>
>> Makefile | 32 ++++++++++++++++----------------
>> configure | 6 +-----
>> rules.mak | 2 ++
>> 3 files changed, 19 insertions(+), 21 deletions(-)
>>
>