我试图在目录上运行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) $@ $^
请建议。
答案 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 $@ $<