我想在几个目录中执行一项任务,但到目前为止还没有找到“类似makefile”的解决方案。我知道这是一个经常被问到的问题,我知道如何解决子 makfile 等问题,但我正在寻找更简单的东西。
而不是做
copy:
cd module1 && mkdir foo
cd module2 && mkdir foo
cd module3 && mkdir foo
我想要类似的东西
directories = module1 module2 module3
copy: $(directories)
cd $< && mkdir foo
但这不起作用,因为收据只在第一个目录中调用一次。我想出了这个可行的解决方案,但可能不是 Makefiles 的风格:
directories = module1 module2 module3
copy:
for d in $(directories); do cd $$d && mkdir foo && cd ..; done
我怎样才能更好地做到这一点?