Makefile:基于变量的测试运行

Makefile:基于变量的测试运行,makefile,gnu-make,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 我必须如何测试参数以

我有一个带有规则的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
我必须如何测试参数以确定是否应该在目标上运行
makeinstall


谢谢

您可以从命令行覆盖
目标

$ make pack_it TARGETS="t1 t4"
无需更改makefile中的任何内容