perl / Makefileon commit perl: detect new files in MakeMaker builds (ee9be06)
   1#
   2# Makefile for perl support modules and routine
   3#
   4makfile:=perl.mak
   5modules =
   6
   7PERL_PATH_SQ = $(subst ','\'',$(PERL_PATH))
   8prefix_SQ = $(subst ','\'',$(prefix))
   9localedir_SQ = $(subst ','\'',$(localedir))
  10
  11ifndef V
  12        QUIET = @
  13endif
  14
  15all install instlibdir: $(makfile)
  16        $(QUIET)$(MAKE) -f $(makfile) $@
  17
  18clean:
  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
  24
  25$(makfile): PM.stamp
  26
  27ifdef NO_PERL_MAKEMAKER
  28instdir_SQ = $(subst ','\'',$(prefix)/lib)
  29
  30modules += Git
  31modules += Git/I18N
  32modules += Git/SVN/Memoize/YAML
  33modules += Git/SVN/Fetcher
  34modules += Git/SVN/Editor
  35modules += Git/SVN/Prompt
  36modules += Git/SVN/Ra
  37
  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)' >> $@
  75else
  76$(makfile): Makefile.PL ../GIT-CFLAGS
  77        $(PERL_PATH) $< PREFIX='$(prefix_SQ)' INSTALL_BASE='' --localedir='$(localedir_SQ)'
  78endif
  79
  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