我是Make的新手。我当前的Makefile如下。它将所有.c文件编译到相应的可执行文件中。 c文件列表不断增长(我正在添加越来越多的文件,p1.c,p2.c,p3.c,...)。所以我希望它能够编译大多数,但是如果有一个特殊的文件有错误我不想打扰,我希望能够把它放在do-not-compile列表上 - 也就是说,不要告诉make我做想要编译的东西,而是告诉它我不要&#t; t < / em>想要编译。有一个文件说dont.txt很容易我添加和删除行,每个包含&#34; px.c&#34;。如果我有这样的文件,我怎么告诉make 不来编译那些.c文件?
CFLAGS = -g -pedantic -std=c99 -Wall
SRCS = $(wildcard *.c)
PROGS = $(patsubst %.c,%,$(SRCS))
all: $(PROGS)
%: %.c
$(CC) $(CFLAGS) -o $@ $<
感谢
答案 0 :(得分:1)
您可以过滤掉您不想编译的源文件,如
SRCS = $(filter-out excludefile.c, $(wildcard *.c))
此外,如果您维护要排除的文件名,请使用以下命令
例如文件是exclude.txt
然后
EXCLUDES := $(shell cat ./exclude.txt)
SRCS = $(filter-out $(EXCLUDES), $(wildcard *.c))