perl: detect new files in MakeMaker builds
[git.git] / perl / Makefile
blob7667c903d22c625f9c781311f7631870cd02e0d4
2 # Makefile for perl support modules and routine
4 makfile:=perl.mak
5 modules =
7 PERL_PATH_SQ = $(subst ','\'',$(PERL_PATH))
8 prefix_SQ = $(subst ','\'',$(prefix))
9 localedir_SQ = $(subst ','\'',$(localedir))
11 ifndef V
12 QUIET = @
13 endif
15 all install instlibdir: $(makfile)
16 $(QUIET)$(MAKE) -f $(makfile) $@
18 clean:
19 $(QUIET)test -f $(makfile) && $(MAKE) -f $(makfile) $@ || exit 0
20 $(RM) ppport.h
21 $(RM) $(makfile)
22 $(RM) $(makfile).old
23 $(RM) PM.stamp
25 $(makfile): PM.stamp
27 ifdef NO_PERL_MAKEMAKER
28 instdir_SQ = $(subst ','\'',$(prefix)/lib)
30 modules += Git
31 modules += Git/I18N
32 modules += Git/SVN/Memoize/YAML
33 modules += Git/SVN/Fetcher
34 modules += Git/SVN/Editor
35 modules += Git/SVN/Prompt
36 modules += Git/SVN/Ra
38 $(makfile): ../GIT-CFLAGS Makefile
39 echo all: private-Error.pm Git.pm Git/I18N.pm > $@
40 set -e; \
41 for i in $(modules); \
42 do \
43 if test $$i = $${i%/*}; \
44 then \
45 subdir=; \
46 else \
47 subdir=/$${i%/*}; \
48 fi; \
49 echo ' $(RM) blib/lib/'$$i'.pm' >> $@; \
50 echo ' mkdir -p blib/lib'$$subdir >> $@; \
51 echo ' cp '$$i'.pm blib/lib/'$$i'.pm' >> $@; \
52 done
53 echo ' $(RM) blib/lib/Error.pm' >> $@
54 '$(PERL_PATH_SQ)' -MError -e 'exit($$Error::VERSION < 0.15009)' || \
55 echo ' cp private-Error.pm blib/lib/Error.pm' >> $@
56 echo install: >> $@
57 set -e; \
58 for i in $(modules); \
59 do \
60 if test $$i = $${i%/*}; \
61 then \
62 subdir=; \
63 else \
64 subdir=/$${i%/*}; \
65 fi; \
66 echo ' $(RM) "$$(DESTDIR)$(instdir_SQ)/'$$i'.pm"' >> $@; \
67 echo ' mkdir -p "$$(DESTDIR)$(instdir_SQ)'$$subdir'"' >> $@; \
68 echo ' cp '$$i'.pm "$$(DESTDIR)$(instdir_SQ)/'$$i'.pm"' >> $@; \
69 done
70 echo ' $(RM) "$$(DESTDIR)$(instdir_SQ)/Error.pm"' >> $@
71 '$(PERL_PATH_SQ)' -MError -e 'exit($$Error::VERSION < 0.15009)' || \
72 echo ' cp private-Error.pm "$$(DESTDIR)$(instdir_SQ)/Error.pm"' >> $@
73 echo instlibdir: >> $@
74 echo ' echo $(instdir_SQ)' >> $@
75 else
76 $(makfile): Makefile.PL ../GIT-CFLAGS
77 $(PERL_PATH) $< PREFIX='$(prefix_SQ)' INSTALL_BASE='' --localedir='$(localedir_SQ)'
78 endif
80 # this is just added comfort for calling make directly in perl dir
81 # (even though GIT-CFLAGS aren't used yet. If ever)
82 ../GIT-CFLAGS:
83 $(MAKE) -C .. GIT-CFLAGS