From: Nicholas Clark Date: Sat, 28 Oct 2000 00:31:02 +0000 (+0100) Subject: Make target reordering to avoid pointless re-makes. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=5bab1179608f81d8718ba76ac7d23377b3bea9c7;p=p5sagit%2Fp5-mst-13.2.git Make target reordering to avoid pointless re-makes. Subject: Re: Total re-make of 'make okfile' after 7451 ? Message-ID: <20001028003101.A54517@plum.flirble.org> p4raw-id: //depot/perl@7468 --- diff --git a/Makefile.SH b/Makefile.SH index 55ffb2c..14170b3 100644 --- a/Makefile.SH +++ b/Makefile.SH @@ -642,10 +642,17 @@ CHMOD_W = chmod +w keywords.h: keywords.pl -perl keywords.pl -opcode.h opnames.h pp_proto.h pp.sym: opcode.pl +OPCODE_PL_OUTPUT = opcode.h opnames.h pp_proto.h pp.sym + +$(OPCODE_PL_OUTPUT): opcode.pl -perl opcode.pl -proto.h embed.h embedvar.h global.sym objXSUB.h perlapi.h perlapi.c pod/perlintern.pod pod/perlapi.pod: embed.pl pp.sym +# Really the prerequisites for the next rule should only be "embed.pl pp.sym" +# Writing it this way gives make a big hint to always run opcode.pl before +# embed.pl. The alternative - running embed.pl then opcode.pl causes embed.pl +# to be re-run next make invocation, and then all object files get recompiled. + +proto.h embed.h embedvar.h global.sym objXSUB.h perlapi.h perlapi.c pod/perlintern.pod pod/perlapi.pod: embed.pl $(OPCODE_PL_OUTPUT) -perl embed.pl ext/ByteLoader/byterun.h ext/ByteLoader/byterun.c ext/B/B/Asmdata.pm: bytecode.pl