在makefile中,我正在使用awk脚本进行一些文本操作
$(phony xyz):
awk 'some script' file1 file2 > output;
如果缺少file1或file2,则会出现错误。所以我正在考虑如果文件不存在则添加一个空文件。
如下所示
$(phony xyz):
test -e file1 || echo "" > file1;
test -e file2 || echo "" > file2;
awk 'some script' file1 file2 > output;
但这不起作用。
例如:如果file1不存在,则错误表明文件file1不存在,然后它正在创建一个空文件“ file1”,而对于file2,没有任何错误,它只是清空了文件,因此最后两个文件都被清空变为空。
答案 0 :(得分:1)
为什么不添加这些文件作为先决条件,并在缺少它们时添加规则以构建它们?
$(phony xyz): file1 file2
awk 'some script' file1 file2 > output;
file1 file2:
touch $@