perl/Makefile: move "mkdir -p" to module installation loop for maintainability

In the NO_PERL_MAKEMAKER=YesPlease fallback case, make the directory that will contain each module when installing it (simulating "install -D") instead of hardcoding "Git/SVN/Memoize is the deepest level". This should make this codepath which is not used often on development machines a little easier to maintain. Requested-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Jonathan Nieder committed Jun 15, 2012 at 18:02 UTC 73abda3b2ad0a2053f29a6f0d624ede89531c437
1 file changed +14 -2
perl/Makefile
+14 -2
@@ -34,22 +34,34 @@ modules += Git/SVN/Ra
34
35 $(makfile): ../GIT-CFLAGS Makefile
36 echo all: private-Error.pm Git.pm Git/I18N.pm > $@
37 - echo ' mkdir -p blib/lib/Git/SVN/Memoize' >> $@
37 set -e; \
38 for i in $(modules); \
39 do \
40 + if test $$i = $${i%/*}; \
41 + then \
42 + subdir=; \
43 + else \
44 + subdir=/$${i%/*}; \
45 + fi; \
46 echo ' $(RM) blib/lib/'$$i'.pm' >> $@; \
47 + echo ' mkdir -p blib/lib'$$subdir >> $@; \
48 echo ' cp '$$i'.pm blib/lib/'$$i'.pm' >> $@; \
49 done
50 echo ' $(RM) blib/lib/Error.pm' >> $@
51 '$(PERL_PATH_SQ)' -MError -e 'exit($$Error::VERSION < 0.15009)' || \
52 echo ' cp private-Error.pm blib/lib/Error.pm' >> $@
53 echo install: >> $@
48 - echo ' mkdir -p "$$(DESTDIR)$(instdir_SQ)/Git/SVN/Memoize"' >> $@
54 set -e; \
55 for i in $(modules); \
56 do \
57 + if test $$i = $${i%/*}; \
58 + then \
59 + subdir=; \
60 + else \
61 + subdir=/$${i%/*}; \
62 + fi; \
63 echo ' $(RM) "$$(DESTDIR)$(instdir_SQ)/'$$i'.pm"' >> $@; \
64 + echo ' mkdir -p "$$(DESTDIR)$(instdir_SQ)'$$subdir >> $@; \
65 echo ' cp '$$i'.pm "$$(DESTDIR)$(instdir_SQ)/'$$i'.pm"' >> $@; \
66 done
67 echo ' $(RM) "$$(DESTDIR)$(instdir_SQ)/Error.pm"' >> $@