Makefile:基于变量测试运行

时间:2012-03-08 11:41:09

标签: makefile gnu-make

我有一个带有规则的makefile,用于构建多个目标并从中创建一个包。

TARGETS=t1 t2 t3 t4

pack_it:
    -for t in $(TARGETS); do \
        $(MAKE) -C $$t install DESTDIR='temp' ); \
    done
    tar czvf package.tar.gz -C tmp *

现在我希望能够从命令行传递我想打包的目标,如下所示:

make pack_it t1 t4

我如何测试参数以了解我是否应该在目标上运行make install

谢谢!

1 个答案:

答案 0 :(得分:3)

您只需从命令行覆盖TARGETS

$ make pack_it TARGETS="t1 t4"

无需更改makefile中的任何内容。