makefile:lint多个源文件并输出到相应的txt文件

时间:2013-02-27 22:15:04

标签: makefile lint

我试图在目录上运行makefile,使其在该目录中的所有cpp文件上运行lint,并将输出保存在与源文件同名的多个文件中。 例如换句话说,我想保存lint out for abc.cpp到abc.txt和def.cpp到def.txt等等所有未知数量的文件到子目录lintfiles。 有些事情如下: -

*lint .ALWAYS:*
   --lint-nt $(PATHS) $(OPTIONS) *.cpp > ./lintfiles/%f.txt

make util不了解Lint的%f选项。我也尝试了以下但它没有产生输出。

lintfiles/%.txt: %.cpp
   -lint-nt $(PATHS) $(OPTIONS) $@ $^

请建议。

1 个答案:

答案 0 :(得分:0)

我不熟悉pc-lint,但是如果语法类似于

lint-nt -o abc.lint abc.cpp 

然后这个makefile应该完成这项工作:

SRC_DIR := src # or whatever
SRCS := $(wildcard $(SRC_DIR)/*.cpp)
LINTS := $(patsubst $(SRC_DIR)/%.cpp, $(SRC_DIR)/lint/%.lint, $(SRCS))

all: $(LINTS)

$(LINTS): $(SRC_DIR)/lint/%.lint : $(SRC_DIR)/%.cpp
    lint-nt $(PATHS) $(OPTIONS) -o $@ $<