删除../我有对象文件来与路径可能看起来像这样的:Makefile文件 - 从路径
'../../src/foo/bar.c'
我希望他们输出到
'build/src/foo/bar.o'
目前使用:
COBJS := $(notdir $(CFILES))
COBJS := $(patsubst %,$(BUILD)%.o,$(COBJS))
我能实现
'build/bar.o'
这是有问题的,如果任何两个库/项目包含相同的类名称。
所以问题是,如何从Make中的路径中删除多个'../'。我尝试了明显而又天真的方法,但没有结果。
更新,下面将完全匹配../../并将其替换为其余。除了特定于../../外,这是完美的。只需要让它匹配任意数量的../../
COBJS := $(CFILES:../../%=%)
更新,
解决,只有三个信誉害羞张贴我自己的答案。
COBJS := $(subst ../,,$(CFILES))
出了什么问题'COBJS:= $(SUBST ../..,建设,$(CFILES))'? – Beta 2012-03-16 05:04:39
某些文件并不总是向后两个相对路径。 – Halsafar 2012-03-17 05:21:37