如果开始一个新模块,一般都是用 module-starter –mi 开始。mi 指 Module::Install,以此作为生成 Mailfile 的后端。为了能使用 make clean 来清空测试过程中留存下来的临时文件,看 Module::Install 的文档。
但文档中没有发现关于 build_requires 之类的使用介绍,而这个指令是用 module-starter 构建后默认自动写好的,这挺奇怪。仔细看文档才发现只列出最常用的。它会使用 Module::Install::* 之类的模块作为扩展。所以最后在 Module/Install/Metadata.pm 里面找到了 build_requires 这个函数,在 Module/Install/Makefile.pm 里找到了 clean_files 这个函数。遗憾的是,除了这两个以外,还有许许多多其他的指令可以用,却没有对应的使用说明文档。所以只能连蒙带猜,尝试在 Makefile.PL 中写上:
clean_files 't/sandbox';
经过测试,确实在生成的 Makefile 中增加了:
clean :: clean_subdirs ... - $(RM_RF) \ t/sandbox blib ...
这么一来,终于可以在提交更新前 make clean 删掉无用的东西了。
如果不是 make realclean,Module::Install 还会在当前模块下面新建 inc 目录,然后把 Module::Install 自己的主要代码放进去,号称是以丁点的大小增长换取灵活——如果系统的 Module::Install 老旧了,或者你自己需要额外再做些什么的话都行。