#makefile
#makefile
Вопрос:
Учитывая сложную взаимосвязь между bash
и make
, я был королем надежды $(wildcard )
, что вместо этого команда будет командой $(globbing )
, которая, по крайней мере, примет bash
шаблон «глобус», такой как восклицательный знак ?
или фигурные скобки {}
.
Мои исследования, похоже, показывают, что он не делает ничего, кроме расширения подстановочных знаков.
Есть ли какой-либо известный способ использовать более сложное «регулярное выражение»?
Источник: функция подстановочного знака на GNU.org
Комментарии:
1. make обычно использует
sh
, а неbash
. И вы можете использовать что-то вроде$(bash -c 'echo <your_pattern_here>')
Ответ №1:
Связь не ближе, чем make
ожидается, что она будет предоставлена с $ (ОБОЛОЧКОЙ), которая достаточно близка к /bin/sh
в определенных отношениях. В Windows многие люди используют cmd.exe
.
Вы всегда можете использовать функцию $ (shell) для вызова любой утилиты, установленной вами через оболочку:
C_SOURCE_FILES = $(shell echo *.[ch])
IMAGES = $(shell find * -maxdepth 2 -type f | egrep -i '.(gif|png|jpg)$$')
Все, что вам заблагорассудится.