Makefile - 使用通配符检测文件

时间:2015-11-30 23:58:11

标签: makefile wildcard

这是我正确设置PATH_PROJET var的代码 - >

PATH_PROJET = 0

-projet-build-path:
ifneq ($(wildcard $(PATH_CURR)/.path_root), )
    $(eval PATH_PROJET = .)
endif
ifneq ($(wildcard $(PATH_CURR)/../.path_root), )
    $(eval PATH_PROJET = ..)
endif

-projet-build-path-verif:
ifeq ($(PATH_PROJET),0)
    $(error Cant find $(PATH_PROJET)/.path_root)
endif

如果我使用PATH_PROJET var进行回声,我会得到正确的设置(。或..取决于),但是当我尝试在第二个规则“-projet-build-path-verif”中使用相同的var时,它会使用这个var“0”的第一个值,但不是我刚设置的值。如果我在$(通配符)中使用var,则会出现同样的问题。

有人有解决方案吗?

1 个答案:

答案 0 :(得分:0)

我最终找到了另一种方法。我不知道如果在规则之外可以使用,所以我以这种方式设置var(在所有规则之外)

ifneq ($(wildcard $(PATH_CURR)/.path_root), )
    PATH_PROJET = .
else
ifneq ($(wildcard $(PATH_CURR)/../.path_root), )
    PATH_PROJET = ..
else
    PATH_PROJET = 0
endif
endif