perl - ExtUtils::MakeMaker 如何执行外部makefile
问题描述
我对 ExtUtils::MakeMaker 很陌生,我不知道如何处理我的用例。
我想利用 ExtUtils::MakeMaker 来部署我的软件库。现在,我的 Makefile.PL 如下:
use ExtUtils::MakeMaker;
WriteMakefile(
ABSTRACT => 'i-MSCP Backend',
AUTHOR => 'Laurent Declercq <l.declercq@nuxwin.com>',
NAME => 'iMSCP',
DISTNAME => "iMSCP",
LICENSE => 'lgpl_2_1',
MIN_PERL_VERSION => "5.0018_002",
NAME => 'iMSCP',
VERSION_FROM => 'lib/iMSCP/Version.pm',
EXE_FILES => [ qw$
bin/imscp-courier-dovecot-migrate.pl
bin/imscp-accounts-suspension
bin/imscp-arpl-msgr
bin/imscp-backup-clients
bin/imscp-backup-imscp
bin/imscp-dpkg-post-invoke
bin/imscp-dsk-quota
bin/imscp-fix-duplicate-mounts
bin/imscp-installer
bin/imscp-master-sql-user-info
bin/imscp-mountall
bin/imscp-net-traffic-logger
bin/imscp-pkt-mngr
bin/imscp-rkhunter
bin/imscp-rqst-mngr
bin/imscp-set-engine-permissions
bin/imscp-set-gui-permissions
bin/imscp-srv-traff
bin/imscp-sw-mngr
bin/imscp-uninstaller
bin/imscp-update.php
bin/imscp-vrl-traff
bin/imscp-maillogconvert.pl
bin/imscp-vlogger
$ ],
# Discard man pages
MAN1PODS => {},
MAN3PODS => {}
);
在我的 lib 目录中,我有一个外部 Makefile 负责构建 Perl 头文件:
#!/usr/bin/make -f
CC := gcc
CFLAGS := -DDEBUG=0 -s -ansi -Wall -Wextra -std=c11 -Wstrict-prototypes -pedantic-errors -O2
headers = sys/syscall.h linux/fs.h
# Debian/Ubuntu specific (Multiarch)
-include /usr/share/dpkg/architecture.mk
ifdef DEB_HOST_MULTIARCH
headers += $(DEB_HOST_MULTIARCH)/sys/mount.h
CFLAGS += -DMULTIARCH='"$(DEB_HOST_MULTIARCH)"'
else
headers += sys/mount.h
endif
default: H2ph.pm
all: default
bin/%: %.c
mkdir -p $(@D)
$(CC) $(CFLAGS) $(CPPFLAGS) $< -o $@
%.pm: bin/% h2ph
$< > iMSCP/$@
$(RM) -r bin/
h2ph:
mkdir -p $@
-cd /usr/include; h2ph -Q -a -d $(shell pwd)/$@ $(headers)
clean:
$(RM) -r h2ph/ iMSCP/H2ph.pm
我想知道如何执行外部makefile。
解决方案
推荐阅读
- xcode - 如何在 Stringsdict 文件格式中添加复数而不显示显示的字符串中的数字值
- eclipse - 在 Eclipse juno 中安装 TestNg 时,出现错误
- php - 在mysql中获取root用户左右孩子的个数
- r - R 删除街道地址中后跟特定字符的字符
- azure-devops - 在 Azure devops 中跨构建管道共享变量
- java - 在 java @configuration 类中初始化 init 方法属性的更好方法
- javascript - React router v5:第三级嵌套无法识别路径
- sql - 获取SQL中同一列上不同WHERE子句的多列
- python-3.x - AttributeError:“元组”对象没有属性“年”
- c++ - 为什么`fun(i)`被推断为`fun
` 除了 ` 有趣 ` 因为 `i` 是 `int` 的类型,而不是真正的参考?