Make perl/ build procedure ActiveState friendly.
On Cygwin + ActivateState Perl, Makefile generated with MakeMaker is not usable because of line-endings and back-slashes. This teaches perl/Makefile to write a handcrafted equivalent perl.mak file with 'make NO_PERL_MAKEMAKER=NoThanks'. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
396db813f2
commit
f848718a69
22
Makefile
22
Makefile
@ -91,6 +91,10 @@ all:
|
|||||||
#
|
#
|
||||||
# Define USE_STDEV below if you want git to care about the underlying device
|
# Define USE_STDEV below if you want git to care about the underlying device
|
||||||
# change being considered an inode change from the update-cache perspective.
|
# change being considered an inode change from the update-cache perspective.
|
||||||
|
#
|
||||||
|
# Define NO_PERL_MAKEMAKER if you cannot use Makefiles generated by perl's
|
||||||
|
# MakeMaker (e.g. using ActiveState under Cygwin).
|
||||||
|
#
|
||||||
|
|
||||||
GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE
|
GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE
|
||||||
@$(SHELL_PATH) ./GIT-VERSION-GEN
|
@$(SHELL_PATH) ./GIT-VERSION-GEN
|
||||||
@ -539,6 +543,9 @@ endif
|
|||||||
ifdef NO_ACCURATE_DIFF
|
ifdef NO_ACCURATE_DIFF
|
||||||
BASIC_CFLAGS += -DNO_ACCURATE_DIFF
|
BASIC_CFLAGS += -DNO_ACCURATE_DIFF
|
||||||
endif
|
endif
|
||||||
|
ifdef NO_PERL_MAKEMAKER
|
||||||
|
export NO_PERL_MAKEMAKER
|
||||||
|
endif
|
||||||
|
|
||||||
# Shell quote (do not use $(call) to accommodate ancient setups);
|
# Shell quote (do not use $(call) to accommodate ancient setups);
|
||||||
|
|
||||||
@ -568,8 +575,8 @@ export prefix TAR INSTALL DESTDIR SHELL_PATH template_dir
|
|||||||
|
|
||||||
all: $(ALL_PROGRAMS) $(BUILT_INS) git$X gitk gitweb/gitweb.cgi
|
all: $(ALL_PROGRAMS) $(BUILT_INS) git$X gitk gitweb/gitweb.cgi
|
||||||
|
|
||||||
all: perl/Makefile
|
all:
|
||||||
$(MAKE) -C perl
|
$(MAKE) -C perl PERL_PATH='$(PERL_PATH_SQ)' prefix='$(prefix_SQ)' all
|
||||||
$(MAKE) -C templates
|
$(MAKE) -C templates
|
||||||
|
|
||||||
strip: $(PROGRAMS) git$X
|
strip: $(PROGRAMS) git$X
|
||||||
@ -602,7 +609,11 @@ $(patsubst %.sh,%,$(SCRIPT_SH)) : % : %.sh
|
|||||||
chmod +x $@+
|
chmod +x $@+
|
||||||
mv $@+ $@
|
mv $@+ $@
|
||||||
|
|
||||||
$(patsubst %.perl,%,$(SCRIPT_PERL)): perl/Makefile
|
$(patsubst %.perl,%,$(SCRIPT_PERL)): perl/perl.mak
|
||||||
|
|
||||||
|
perl/perl.mak: GIT-CFLAGS
|
||||||
|
$(MAKE) -C perl PERL_PATH='$(PERL_PATH_SQ)' prefix='$(prefix_SQ)' $(@F)
|
||||||
|
|
||||||
$(patsubst %.perl,%,$(SCRIPT_PERL)): % : %.perl
|
$(patsubst %.perl,%,$(SCRIPT_PERL)): % : %.perl
|
||||||
rm -f $@ $@+
|
rm -f $@ $@+
|
||||||
INSTLIBDIR=`$(MAKE) -C perl -s --no-print-directory instlibdir` && \
|
INSTLIBDIR=`$(MAKE) -C perl -s --no-print-directory instlibdir` && \
|
||||||
@ -796,7 +807,7 @@ install: all
|
|||||||
$(INSTALL) $(ALL_PROGRAMS) '$(DESTDIR_SQ)$(gitexecdir_SQ)'
|
$(INSTALL) $(ALL_PROGRAMS) '$(DESTDIR_SQ)$(gitexecdir_SQ)'
|
||||||
$(INSTALL) git$X gitk '$(DESTDIR_SQ)$(bindir_SQ)'
|
$(INSTALL) git$X gitk '$(DESTDIR_SQ)$(bindir_SQ)'
|
||||||
$(MAKE) -C templates DESTDIR='$(DESTDIR_SQ)' install
|
$(MAKE) -C templates DESTDIR='$(DESTDIR_SQ)' install
|
||||||
$(MAKE) -C perl install
|
$(MAKE) -C perl prefix='$(prefix_SQ)' install
|
||||||
if test 'z$(bindir_SQ)' != 'z$(gitexecdir_SQ)'; \
|
if test 'z$(bindir_SQ)' != 'z$(gitexecdir_SQ)'; \
|
||||||
then \
|
then \
|
||||||
ln -f '$(DESTDIR_SQ)$(bindir_SQ)/git$X' \
|
ln -f '$(DESTDIR_SQ)$(bindir_SQ)/git$X' \
|
||||||
@ -866,8 +877,7 @@ clean:
|
|||||||
rm -f $(htmldocs).tar.gz $(manpages).tar.gz
|
rm -f $(htmldocs).tar.gz $(manpages).tar.gz
|
||||||
rm -f gitweb/gitweb.cgi
|
rm -f gitweb/gitweb.cgi
|
||||||
$(MAKE) -C Documentation/ clean
|
$(MAKE) -C Documentation/ clean
|
||||||
[ ! -f perl/Makefile ] || $(MAKE) -C perl/ clean || $(MAKE) -C perl/ clean
|
$(MAKE) -C perl clean
|
||||||
rm -f perl/ppport.h perl/Makefile.old
|
|
||||||
$(MAKE) -C templates/ clean
|
$(MAKE) -C templates/ clean
|
||||||
$(MAKE) -C t/ clean
|
$(MAKE) -C t/ clean
|
||||||
rm -f GIT-VERSION-FILE GIT-CFLAGS
|
rm -f GIT-VERSION-FILE GIT-CFLAGS
|
||||||
|
3
perl/.gitignore
vendored
3
perl/.gitignore
vendored
@ -1,4 +1,5 @@
|
|||||||
Makefile
|
perl.mak
|
||||||
|
perl.mak.old
|
||||||
blib
|
blib
|
||||||
blibdirs
|
blibdirs
|
||||||
pm_to_blib
|
pm_to_blib
|
||||||
|
39
perl/Makefile
Normal file
39
perl/Makefile
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#
|
||||||
|
# Makefile for perl support modules and routine
|
||||||
|
#
|
||||||
|
makfile:=perl.mak
|
||||||
|
|
||||||
|
PERL_PATH_SQ = $(subst ','\'',$(PERL_PATH))
|
||||||
|
prefix_SQ = $(subst ','\'',$(prefix))
|
||||||
|
|
||||||
|
all install instlibdir: $(makfile)
|
||||||
|
$(MAKE) -f $(makfile) $@
|
||||||
|
|
||||||
|
clean:
|
||||||
|
test -f $(makfile) && $(MAKE) -f $(makfile) $@ || exit 0
|
||||||
|
$(RM) ppport.h
|
||||||
|
$(RM) $(makfile)
|
||||||
|
$(RM) $(makfile).old
|
||||||
|
|
||||||
|
ifdef NO_PERL_MAKEMAKER
|
||||||
|
instdir_SQ = $(subst ','\'',$(prefix)/lib)
|
||||||
|
$(makfile): ../GIT-CFLAGS Makefile
|
||||||
|
echo all: > $@
|
||||||
|
echo ' :' >> $@
|
||||||
|
echo install: >> $@
|
||||||
|
echo ' mkdir -p $(instdir_SQ)' >> $@
|
||||||
|
echo ' $(RM) $(instdir_SQ)/Git.pm; cp Git.pm $(instdir_SQ)' >> $@
|
||||||
|
echo ' $(RM) $(instdir_SQ)/Error.pm; \
|
||||||
|
cp private-Error.pm $(instdir_SQ)/Error.pm' >> $@
|
||||||
|
echo instlibdir: >> $@
|
||||||
|
echo ' echo $(instdir_SQ)' >> $@
|
||||||
|
else
|
||||||
|
$(makfile): Makefile.PL ../GIT-CFLAGS
|
||||||
|
'$(PERL_PATH_SQ)' $< FIRST_MAKEFILE='$@' PREFIX='$(prefix_SQ)'
|
||||||
|
endif
|
||||||
|
|
||||||
|
# this is just added comfort for calling make directly in perl dir
|
||||||
|
# (even though GIT-CFLAGS aren't used yet. If ever)
|
||||||
|
../GIT-CFLAGS:
|
||||||
|
$(MAKE) -C .. GIT-CFLAGS
|
||||||
|
|
Loading…
Reference in New Issue
Block a user