【发布时间】:2013-07-25 12:22:56
【问题描述】:
碰巧需要从一个文件夹编译所有 *.c 文件,除了一个文件夹,它具有完全相同的名称并且是从其他地方编译的。我通过为我想要的每个文件分别提供 vpath 来解决
vpath plant.c $(KMLROOT)/examples/$(KML_FLAVOUR)/pdk
vpath app.c $(KMLROOT)/examples/$(KML_FLAVOUR)/pdk
vpath app_test.c $(KMLROOT)/examples/$(KML_FLAVOUR)/pdk
vpath app_echo.c $(KMLROOT)/examples/$(KML_FLAVOUR)/pdk
现在如果我写
vpath %.c $(KMLROOT)/examples/$(KML_FLAVOUR)/pdk
我不想包含的文件将在路径上。
是否有可能编写一些规则并排除特定文件?
【问题讨论】:
-
这样用vpath好像没什么用。如果您必须为每个单独的文件指定路径,为什么不直接使用路径名。
-
因为该路径上有一个文件与我在本地拥有的同名文件。我想要我的文件,以及该文件夹中除该文件之外的所有文件。粗略的解决方法是删除重复文件,但这是来自第 3 方的 pdk,我不想从中删除文件。
-
是的,我明白了,我是说为什么要使用 vpath?我会写一个答案。