Ответ 1
Вам действительно нужно регулярное выражение? make
встроенные функции также могут сделать это.
ALL_SRCS := $(wildcard *.c) SRCS := $(filter-out ttem_endian_port%.c, $(ALL_SRCS))
У меня есть вопрос, который должен быть реальным простым регулярным выражением. Я делаю make файл и нуждаюсь в одной цели для компиляции всего источника в моем каталоге, кроме одного или двух файлов с именованным префиксом ttem_endian_port. Какое регулярное выражение можно использовать, чтобы сделать это максимально простым?
Я думал что-то вроде [^ ttem_endian_port *] *. c, но это не работает.
Вам действительно нужно регулярное выражение? make
встроенные функции также могут сделать это.
ALL_SRCS := $(wildcard *.c) SRCS := $(filter-out ttem_endian_port%.c, $(ALL_SRCS))
^[^(ttem_endian_port)]*.c
Regexp не было сделано для проведения отрицательного поиска. Если вы действительно хотите использовать regexp, вы можете сделать lookahead (не все его поддерживают):
^(?!ttem_endian_port).*\.c$
Кроме того, не забудьте вывести точку. Посмотрите этот вопрос для получения дополнительной информации.