summaryrefslogtreecommitdiff
path: root/Makefile.SH
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2010-12-03 21:07:17 +0000
committerNicholas Clark <nick@ccl4.org>2010-12-03 21:07:17 +0000
commitb1811a1510c616ea350802dcd28682a4b8c378ce (patch)
tree59d1ea010b4e994786e4cbeefcc5f72773317e50 /Makefile.SH
parentbf5522a13a381257966e7ed6b731195a873b153e (diff)
downloadperl-b1811a1510c616ea350802dcd28682a4b8c378ce.tar.gz
Remove the Makefile command to touch perlmain.c after running makedepend.
Jerry D. Hedden was right to question whether this was now superfluous, because as best I can tell it was *always* superfluous. Perl 5.000 shipped with a Makefile rule to build perlmain.c using a shell script, with a dependency for perlmain.c on makefile. [Lowercase makefile, now abstracted as $(FIRSTMAKEFILE). This is generated by makedepend from Makefile, by calculating the dependency rules to append to it.] The rule to generate perlmain.c had a prerequisite on $(FIRSTMAKEFILE), and in turn $(FIRSTMAKEFILE) has a dependency on $(c), which included perlmain.c. Hence there was a circular dependency, and the "solution" to avoiding repeated rebuilds was to touch perlmain.c (if it exists), after running makedepend. As best I can tell there is no *actual* dependency for the correct generation of perlmain.c on the contents of $(FIRSTMAKEFILE), as the relevant variables are the same in both Makefile and $(FIRSTMAKEFILE). Hence this command should have been removed, along with the dependency, years ago. However, no-one spotted this until Jerry observed that fbcaf61123069fe4 changed the build rules, and removed the dependency, but not the touch command.
Diffstat (limited to 'Makefile.SH')
-rwxr-xr-xMakefile.SH2
1 files changed, 0 insertions, 2 deletions
diff --git a/Makefile.SH b/Makefile.SH
index 3cf2939f96..027b2b2f68 100755
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -1352,11 +1352,9 @@ $(FIRSTMAKEFILE): README $(MAKEDEPEND)
config.h: config_h.SH config.sh
$(SHELL) config_h.SH
-# When done, touch perlmain.c so that it doesn't get remade each time.
.PHONY: depend
depend: makedepend
sh ./makedepend MAKE=$(MAKE)
- - test -s perlmain.c && touch perlmain.c
cd x2p; $(MAKE) depend
# Cannot postpone this until $firstmakefile is ready ;-)