Re: [PATCH 04/17] Makefile: a dry-run can error out if no perl. Document the issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: "Junio C Hamano" <gitster@xxxxxxxxx>
Philip Oakley <philipoakley@xxxxxxx> writes:

A 'make -n' dry-run is used as part of the /compat/vcbuild and
/contrib/buildsystems code. The commit ee9be06 (perl: detect new files
in MakeMaker builds, 2012-07-27) was not aware of that dry-run usage
and thus would not execute the target.

Add a comment to the make file stating the issue and the available
solutions of either NO_PERL or a '+recipe'.

I am not sure what this patch is trying to achieve.

It was probably a bit of 'don't mess with working code', given that I'd used the NO_PERL solution, rather 'document the issue'. The issue had me stuck for a while. The possible use of '+' came later when driving down through the Makefile manual.


If you are not touching what this Makefile actually does, then I
would imagine that you are running the "buildsystems code" that
actually drives 'make -n' with some "available solution" (perhaps
you are running 'make -n NO_PERL=NoThanks' or something like that)?
Then instead of a command like this that nobody would read in this
file, the same command can instead go there to explain what the
"workaround" (e.g. unusual-looking 'make -n NO_PERL=NoThanks') is
doing?

I suspect you mean by +recipe that you modify this makefile to make
such a workaround unnecessary?  If that is the case, why isn't such
a change actually be done with this commit, instead of a comment?

Yes. See above about the lack of 'fearless coding'; been working in real world engineering too long ;-)


I am not sure what this patch is trying to achieve.

Puzzled...


Signed-off-by: Philip Oakley <philipoakley@xxxxxxx>
---
 Makefile | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Makefile b/Makefile
index 149f1c7..22108bb 100644
--- a/Makefile
+++ b/Makefile
@@ -1746,6 +1746,9 @@ $(SCRIPT_PERL_GEN): perl/perl.mak

 perl/perl.mak: perl/PM.stamp

+# 'make -n' (dry-run) will not execute this target which creates/updates the PM.stamp file. +# To avoid the error of failing to find the target PM.stamp, either use NO_PERL=1 (YesPlease), +# or add a leading '+' to the recipe '+$(QUIET_GEN)$(FIND) perl ...' so that it is executed.
 perl/PM.stamp: FORCE
 @$(FIND) perl -type f -name '*.pm' | sort >$@+ && \
 { cmp $@+ $@ >/dev/null 2>/dev/null || mv $@+ $@; } && \
--
2.3.1

--
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]