Есть ли способ исключить определенные исходные файлы или папки из make-файла? - PullRequest
1 голос
/ 07 октября 2009

Есть ли способ исключить некоторые файлы из процесса компиляции? Или даже целые каталоги?

Я считаю, что make-файл использует find, чтобы найти все исходные файлы в каталоге src. Есть ли способ указать каталоги, которые нужно игнорировать из find? Как какой-то переключатель, или что-то?

Ответы [ 4 ]

2 голосов
/ 10 марта 2010
2 голосов
/ 07 октября 2009

Это полностью зависит от того, как написан ваш make-файл. Вы можете использовать условные выражения, чтобы избежать добавления файлов при соблюдении определенных условий:

 ifeq ($(OS),win32)
 SOURCES += foo_win32.cpp
 else
 SOURCES += foo_posix.cpp
 endif
 ...
 foo: $(SOURCES)

Если вы немного уточнили, что именно вы хотите сделать, вы можете получить лучший ответ.

РЕДАКТИРОВАТЬ: если файлы определяются с помощью поиска, вы можете исключить файлы / каталоги из поиска, как это:

SOURCES:=$(shell find srcdir -type f | grep -v dirtoexclude)
0 голосов
/ 07 октября 2009

Вы можете создавать отдельные цели, которые являются одинаковыми, за исключением того, что вы хотите исключить.

0 голосов
/ 07 октября 2009

Конечно - не указывайте их в вашем Makefile.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...