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