我有一个带有规则的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
?
谢谢!
答案 0 :(得分:3)
您只需从命令行覆盖TARGETS
:
$ make pack_it TARGETS="t1 t4"
无需更改makefile中的任何内容。