Использование пустых рецептов
Иногда полезно определить рецепты, которые ничего не делают. Это делается просто, задав рецепт, состоящий только из пробелов. Например:
target: ;
определяет пустой рецепт для target. Вы также можете использовать строку, начинающуюся с символа префикса рецепта, для определения пустого рецепта, но это будет запутанно, потому что такая строка выглядит пустой.
Вы можете задаться вопросом, зачем нужен рецепт, который ничего не делает. Одна из причин, по которой это полезно, — предотвратить применение неявных рецептов к цели (из неявных правил или специальной цели .DEFAULT; см. Неявные правила и см. Определение правил по умолчанию по умолчанию).
Пустые рецепты также могут использоваться для предотвращения ошибок для целей, которые будут созданы как побочный эффект другого рецепта: если цель не существует, пустой рецепт гарантирует, что make не будет жаловаться, что не знает, как создать цель, и make будет предполагать, что цель устарела.
Вы можете захотеть определить пустые рецепты для целей, которые не являются фактическими файлами, а существуют только для того, чтобы их предшественники могли быть пересозданы. Однако это не лучший способ сделать это, потому что предшественники могут не пересоздаваться должным образом, если целевой файл фактически существует. См. Фиктивные цели для лучшего способа сделать это.
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/Empty-Recipes.html