Spec-Zone.ru › GNU Make

Примеры подстановочных символов

Подстановочные символы могут использоваться в рецепте правила, где они расширяются оболочкой. Например, вот правило для удаления всех объектных файлов:

clean:
        rm -f *.o

Подстановочные символы также полезны в предварительных зависимостях правила. С помощью следующего правила в файле make, «make print» будет выводить все файлы «.c», которые изменились с момента последнего вывода:

print: *.c
        lpr -p $?
        touch print

Это правило использует print как пустой целевой файл; см. Пустые целевые файлы для записи событий. (Автоматическая переменная «$?» используется для вывода только тех файлов, которые изменились; см. Автоматические переменные.)

Расширение подстановочных символов не происходит при определении переменной. Таким образом, если вы напишите это:

objects = *.o

то значение переменной objects — это фактическая строка «*.o». Однако, если вы используете значение objects в цели или предварительной зависимости, расширение подстановочных символов произойдёт там. Если вы используете значение objects в рецепте, оболочка может выполнить расширение подстановочных символов во время выполнения рецепта. Чтобы установить objects в расширение, вместо этого используйте:

objects := $(wildcard *.o)

См. Функция подстановочных символов.

Copyright © 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Free Software Foundation, Inc.
Licensed under the GNU Free Documentation License.
https://www.gnu.org/software/make/manual/html_node/Wildcard-Examples.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API