Как использовать GNU Сделать отфильтровать список файлов из каталога? - PullRequest
1 голос
/ 02 июля 2019

У меня есть список cpp файлов, которые я хочу исключить из моего Makefile.Я не могу применить подстановочный знак, как в этом вопросе ;вместо этого я хочу исключить список определенных имен файлов.Как я могу это сделать?

Это не похоже на работу.

SRCDIR = ../src

EXCLUDE := file1.cpp,file2.cpp,file3.cpp
SRCS    = $(shell find $(SRCDIR) -name '*.cpp')
SRCS := $(filter-out $(SRCDIR)/$(EXCLUDE) , $(SRCS))

Глядя на документацию , можно отфильтровать несколько файлов следующим образом:

objects=main1.o foo.o main2.o bar.o
mains=main1.o main2.o

$(filter-out $(mains),$(objects))

Так что мой вопрос во многом сводится к тому, существует ли способ исключить ../src/file1.cpp, ../src/file2.cpp, ../src/file3.cpp путем загрузки значения из переменной SRCDIR?

1 Ответ

1 голос
/ 02 июля 2019

Вы, вероятно, хотите что-то вроде:

SRCS := $(filter-out $(EXCLUDE:%=$(SRCDIR)/%),$(SRCS))
...