# This makefile simplifies perl module builds.
|
|
#
|
|
|
|
# Build environment
|
|
PERL_CMD := $(STAGING_DIR)/usr/bin/perl
|
|
PERL_LIB := $(STAGING_DIR)/usr/lib/perl5/5.20
|
|
|
|
# Module install prefix
|
|
PERL_SITELIB := /usr/lib/perl5/5.20
|
|
|
|
define perlmod/Configure
|
|
(cd $(PKG_BUILD_DIR); \
|
|
PERL5LIB=$(PERL_LIB) \
|
|
PERL_MM_USE_DEFAULT=1 \
|
|
$(2) \
|
|
$(PERL_CMD) Makefile.PL \
|
|
$(1) \
|
|
PERL_LIB=$(PERL_LIB) \
|
|
PERL_ARCHLIB=$(PERL_LIB) \
|
|
INSTALLSITELIB=$(PERL_SITELIB) \
|
|
INSTALLSITEARCH=$(PERL_SITELIB) \
|
|
DESTDIR=$(PKG_INSTALL_DIR) \
|
|
);
|
|
endef
|
|
|
|
define perlmod/Compile
|
|
PERL5LIB=$(PERL_LIB) \
|
|
$(2) \
|
|
$(MAKE) -C $(PKG_BUILD_DIR) \
|
|
$(1) \
|
|
install
|
|
endef
|
|
|
|
define perlmod/Install
|
|
$(INSTALL_DIR) $(strip $(1))$(PERL_SITELIB)
|
|
(cd $(PKG_INSTALL_DIR)$(PERL_SITELIB) && \
|
|
rsync --relative -rlHp --itemize-changes \
|
|
--exclude=\*.pod \
|
|
--exclude=.packlist \
|
|
$(addprefix --exclude=/,$(strip $(3))) \
|
|
--prune-empty-dirs \
|
|
$(strip $(2)) $(strip $(1))$(PERL_SITELIB))
|
|
|
|
chmod -R u+w $(strip $(1))$(PERL_SITELIB)
|
|
|
|
@echo "---> Stripping modules in: $(strip $(1))$(PERL_SITELIB)"
|
|
find $(strip $(1))$(PERL_SITELIB) -name \*.pm -or -name \*.pl | \
|
|
xargs -r sed -i \
|
|
-e '/^=\(head\|pod\|item\|over\|back\)/,/^=cut/d' \
|
|
-e '/^=\(head\|pod\|item\|over\|back\)/,$$$$d' \
|
|
-e '/^#$$$$/d' \
|
|
-e '/^#[^!"'"'"']/d'
|
|
endef
|