假设有一个使用C库的Perl XS模块,并且存在正确设置所有头文件和库位置、编译器和链接器标志等的Makefile.PL。
现在,假设我想在该XS模块中包含一个使用相同底层C库的小型C程序。如何正确、平台无关地指定目标可执行文件,以便使用相同的设置和标志进行构建?
如果我执行以下操作:
sub MY::postamble {
return <<FRAG;
target$Config{exe_ext}: target$Config{obj_ext}
target$Config{obj_ext}: target.c
FRAG
}
我不理解在
WriteMakefile
的参数中设置的包含位置、库列表等内容。如果我开始手动编写规则,我至少要考虑到make
、dmake
和nmake
。如果使用ExtUtils::CBuilder,我无法找到一个简单明了的方法来指定链接的库。我一定是漏掉了什么。如果您能指出来,我将不胜感激。