2012-03-08 102 views
1

的测试运行我有一个makefile,其中包含一个规则来构建多个目标并从中创建一个包。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

谢谢!

回答

3

你可以只覆盖命令行TARGETS

$ make pack_it TARGETS="t1 t4" 

无需在makefile任何改变。

+0

好!它的工作原理很简单。真的感谢。 – j4x 2012-03-08 12:07:55