1Project        = mod_perl
2ProjectVersion = $(Project)-2.0.7
3
4include $(MAKEFILEPATH)/CoreOS/ReleaseControl/Common.make
5
6# Perl multi-version support
7
8VERSIONERDIR = /usr/local/versioner
9PERLVERSIONS = $(VERSIONERDIR)/perl/versions
10DEFAULT := $(shell sed -n '/^DEFAULT = /s///p' $(PERLVERSIONS))
11KNOWNVERSIONS := $(shell grep -v '^DEFAULT' $(PERLVERSIONS))
12BOOTSTRAPPERL = 5.16
13VERSIONS = $(sort $(KNOWNVERSIONS) $(BOOTSTRAPPERL))
14# do default version last
15PERLORDEREDVERS = $(filter-out $(DEFAULT),$(VERSIONS)) $(DEFAULT)
16
17PERLEXTRASLIB := $(subst Perl,Perl/Extras,$(shell perl -e 'require Config; print $$Config::Config{installprivlib}'))
18PERLARCHLIB := $(shell perl -e 'require Config; print $$Config::Config{installarchlib}')
19PERLEXTRASARCHLIB := $(subst Perl,Perl/Extras,$(PERLARCHLIB))
20CFLAGS += -std=c89
21
22install::
23	@echo "--> Extracting..."
24	$(MKDIR) $(OBJROOT)
25	$(TAR) -C $(OBJROOT) -zxf $(SRCROOT)/$(ProjectVersion).tar.gz
26
27	@echo "--> Building/installing..."
28	@set -x && \
29	cd $(OBJROOT)/$(ProjectVersion) && \
30	for vers in $(PERLORDEREDVERS); do \
31		export VERSIONER_PERL_VERSION=$${vers} && \
32	    installarchlib=`perl -MConfig -e 'print $$Config::Config{installarchlib}' | sed 's,Perl,Perl/Extras,'` && \
33	    installprivlib=`perl -MConfig -e 'print $$Config::Config{installprivlib}' | sed 's,Perl,Perl/Extras,'` && \
34		ARCHFLAGS="$(RC_CFLAGS)" perl Makefile.PL \
35		MP_APXS="/usr/sbin/apxs" \
36		MP_CCOPTS="$(CFLAGS)" \
37		INSTALLARCHLIB=$${installarchlib} \
38		INSTALLDIRS=perl \
39		INSTALLMAN3DIR="$(MANDIR)/man3" && \
40		$(MAKE) && \
41		$(MAKE) install DESTDIR=$(DSTROOT); \
42	done
43
44	@echo "--> Post install cleanup..."
45	find $(DSTROOT) -name \*.bs -delete
46	find $(DSTROOT) -name perllocal.pod -delete
47	find $(DSTROOT) -type d -empty -delete
48
49	@set -x && \
50	cd $(DSTROOT) && \
51	for bundle in `find . -type f -name \*.bundle -o -name \*.so`; do \
52		bundledir=$(SYMROOT)/`dirname $${bundle}` && \
53		$(MKDIR) $${bundledir} && \
54		$(CP) $${bundle} $${bundledir} && \
55		$(STRIP) -x $${bundle}; \
56	done
57
58	$(INSTALL_DIRECTORY) $(DSTROOT)/usr/local/OpenSourceVersions
59	$(INSTALL_FILE) $(SRCROOT)/mod_perl.plist $(DSTROOT)/usr/local/OpenSourceVersions/apache_mod_perl.plist
60	$(INSTALL_DIRECTORY) $(DSTROOT)/usr/local/OpenSourceLicenses
61	$(INSTALL_FILE) $(OBJROOT)/$(ProjectVersion)/LICENSE $(DSTROOT)/usr/local/OpenSourceLicenses/apache_mod_perl.txt
62	$(MKDIR) $(DSTROOT)/usr/share/man/man1
63	$(INSTALL_FILE) $(SRCROOT)/mp2bug.1 $(DSTROOT)/usr/share/man/man1
64	$(_v) $(MAKE) compress_man_pages
65