如果在工作区中找到另一个文件,是否可以添加先决条件?或者我怎样才能实现以下想法?基本上,如果我的工作区在特定位置有一个lcf文件,我需要创建另一个文件..这样的事情:
lcf := ../base_sw/lcf/base.lcf
.PHONY :
all : $(objects)
# if $(lcf) file exists then
all : $(objects) sup.a2l
sup.a2l :
# Perl script runs here to produce sup.a2l
@echo Chris > $@
答案 0 :(得分:1)
这应该这样做:
lcf := $(wildcard ../base_sw/lcf/base.lcf)
.PHONY :
all : $(objects) $(lcf)
答案 1 :(得分:0)
想想我自己设法回答了这个问题!
如果lcf文件不存在,则通配符函数不返回任何内容:
lcf := $(wildcard ../base_sw/lcf/base.lcf)
开始构建需要制作的文件:
make_these_file := $(obejcts)
如果lcf变量不为空,则追加到文件列表:
ifneq ($(lcf),)
make_these_file += sup.a2l
endif
现在我们的目标需要制作文件:
.PHONY :
all : $(make_these_file)
sup.a2l :
# Perl script here to produce sup.a2l
@echo Chris > $@
适合我:)