Change files which are mysteriously different to mainline to be
[p5sagit/p5-mst-13.2.git] / Makefile.SH
index 55ffb2c..14170b3 100644 (file)
@@ -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