1# Makefile updating perl
2# Install into the Extras directory (just like CPAN), and after post-install
3# cleanups, merge into the regular perl directories.
4
5# add directories here
6PROJECTS = CPAN-Meta-2.120921 \
7	   CPAN-Meta-Requirements-2.122 \
8	   CPAN-Meta-YAML-0.008 \
9	   Module-Metadata-1.000011 \
10	   Module-Pluggable-4.3 \
11	   Parse-CPAN-Meta-1.4404
12
13installarchlib := $(shell perl -MConfig -e 'print $$Config::Config{archlib}')
14installbin := $(shell perl -MConfig -e 'print $$Config::Config{installbin}')
15installprivlib := $(shell perl -MConfig -e 'print $$Config::Config{privlib}')
16ARCHLIB := $(DSTROOT)/$(installarchlib)
17PRIVLIB := $(DSTROOT)/$(installprivlib)
18PLARGS := INSTALLDIRS=perl INSTALLARCHLIB='$(installarchlib)' INSTALLPRIVLIB='$(installprivlib)' INSTALLBIN='$(installbin)' INSTALLSCRIPT='$(installbin)'
19PLBARGS := --installdirs core --install_path arch='$(installarchlib)' --install_path lib='$(installprivlib)' --install_path bin='$(installbin)' --install_path script='$(installbin)'
20MAKEARGS := DESTDIR=$(DSTROOT) CONFIGDEP=
21BUILDARGS := --destdir $(DSTROOT) CONFIGDEP=
22export PERL5LIB := $(PRIVLIB)
23export NO_PERL_PREPENDTOPATH := 1
24
25no_target:
26	@set -x && for i in $(PROJECTS); do \
27	    echo "===== $$i =====" && \
28	    $(MAKE) -C Modules/$$i unpack installarchlib="$(installarchlib)" \
29		installprivlib="$(installprivlib)" PLARGS="$(PLARGS)" \
30		PLBARGS="$(PLBARGS)" BUILDARGS="$(BUILDARGS)"\
31		MAKEARGS="$(MAKEARGS)" && \
32	    $(MAKE) -C Modules/$$i installarchlib="$(installarchlib)" \
33		installprivlib="$(installprivlib)" PLARGS="$(PLARGS)" \
34		PLBARGS="$(PLBARGS)" BUILDARGS="$(BUILDARGS)"\
35		MAKEARGS="$(MAKEARGS)" || exit 1; \
36	done
37
38install:
39	@set -x && for i in $(PROJECTS); do \
40	    echo "===== $$i =====" && \
41	    $(MAKE) -C Modules/$$i unpack installarchlib="$(installarchlib)" \
42		installprivlib="$(installprivlib)" PLARGS="$(PLARGS)" \
43		PLBARGS="$(PLBARGS)" BUILDARGS="$(BUILDARGS)"\
44		MAKEARGS="$(MAKEARGS)" && \
45	    $(MAKE) -C Modules/$$i install installarchlib="$(installarchlib)" \
46		installprivlib="$(installprivlib)" PLARGS="$(PLARGS)" \
47		PLBARGS="$(PLBARGS)" BUILDARGS="$(BUILDARGS)"\
48		MAKEARGS="$(MAKEARGS)" || exit 1; \
49	done
50	@echo ================ post-install fixups ================
51	rm -f $(ARCHLIB)/perllocal.pod
52	find $(ARCHLIB)/auto -name .packlist -print -delete
53
54projects:
55	@echo $(PROJECTS)
56