Lint 多个源文件并输出到相应的 txt 文件

问题描述 投票:0回答:1

我正在尝试在一个目录上运行一个 makefile,以便它在该目录中的所有 cpp 文件上运行 lint,并将输出保存在多个与源文件同名的文件中。 例如换句话说,我想将 abc.cpp 的 lint 保存到 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) $@ $^

请建议。

makefile lint
1个回答
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 $@ $<
© www.soinside.com 2019 - 2024. All rights reserved.