Makefile: rebuild perl scripts when perl paths change

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Jonathan Nieder committed Nov 18, 2013 at 14:23 UTC 07981dce81eefd3d1e8966dfe27902dd339d276a
2 files changed +12 -2
.gitignore
+1
@@ -2,6 +2,7 @@
2 /GIT-CFLAGS
3 /GIT-LDFLAGS
4 /GIT-PREFIX
5 +/GIT-PERL-DEFINES
6 /GIT-PYTHON-VARS
7 /GIT-SCRIPT-DEFINES
8 /GIT-USER-AGENT
Makefile
+11 -2
@@ -1792,7 +1792,8 @@ perl/PM.stamp: FORCE
1792 perl/perl.mak: GIT-CFLAGS GIT-PREFIX perl/Makefile perl/Makefile.PL
1793 $(QUIET_SUBDIR0)perl $(QUIET_SUBDIR1) PERL_PATH='$(PERL_PATH_SQ)' prefix='$(prefix_SQ)' $(@F)
1794
1795 -$(patsubst %.perl,%,$(SCRIPT_PERL)): % : %.perl GIT-VERSION-FILE
1795 +PERL_DEFINES = $(PERL_PATH_SQ)
1796 +$(patsubst %.perl,%,$(SCRIPT_PERL)): % : %.perl perl/perl.mak GIT-PERL-DEFINES GIT-VERSION-FILE
1797 $(QUIET_GEN)$(RM) $@ $@+ && \
1798 INSTLIBDIR=`MAKEFLAGS= $(MAKE) -C perl -s --no-print-directory instlibdir` && \
1799 sed -e '1{' \
@@ -1807,6 +1808,13 @@ $(patsubst %.perl,%,$(SCRIPT_PERL)): % : %.perl GIT-VERSION-FILE
1808 chmod +x $@+ && \
1809 mv $@+ $@
1810
1811 +GIT-PERL-DEFINES: FORCE
1812 + @FLAGS='$(PERL_DEFINES)'; \
1813 + if test x"$$FLAGS" != x"`cat $@ 2>/dev/null`" ; then \
1814 + echo >&2 " * new perl-specific parameters"; \
1815 + echo "$$FLAGS" >$@; \
1816 + fi
1817 +
1818
1819 .PHONY: gitweb
1820 gitweb:
@@ -2494,7 +2502,8 @@ ifndef NO_TCLTK
2502 $(MAKE) -C git-gui clean
2503 endif
2504 $(RM) GIT-VERSION-FILE GIT-CFLAGS GIT-LDFLAGS GIT-BUILD-OPTIONS
2497 - $(RM) GIT-USER-AGENT GIT-PREFIX GIT-SCRIPT-DEFINES GIT-PYTHON-VARS
2505 + $(RM) GIT-USER-AGENT GIT-PREFIX
2506 + $(RM) GIT-SCRIPT-DEFINES GIT-PERL-DEFINES GIT-PYTHON-VARS
2507
2508 .PHONY: all install profile-clean clean strip
2509 .PHONY: shell_compatibility_test please_set_SHELL_PATH_to_a_more_modern_shell