Правила очистки каталога
Компиляция программы — не единственное, для чего можно написать правила. Файлы make часто указывают, как выполнить несколько других действий помимо компиляции программы: например, как удалить все объектные файлы и исполняемые файлы, чтобы каталог был «чистым».
Вот как мы могли бы написать правило make для очистки нашего примера редактора:
clean:
rm edit $(objects)
На практике мы можем захотеть написать правило несколько более сложным способом, чтобы обрабатывать непредвиденные ситуации. Мы бы сделали это так:
.PHONY : clean
clean :
-rm edit $(objects)
Это предотвращает make от путаницы с фактическим файлом, называемым clean, и заставляет его продолжать работу несмотря на ошибки от rm. (См. Псевдоцели и Ошибки в рецептах.)
Такое правило не должно размещаться в начале файла make, потому что мы не хотим, чтобы оно выполнялось по умолчанию! Таким образом, в примере файла make мы хотим, чтобы правило для edit, которое перекомпилирует редактор, оставалось целевой задачей по умолчанию.
Поскольку clean не является предпосылкой для edit, это правило вообще не будет выполняться, если мы введём команду ‘make’ без аргументов. Чтобы запустить правило, мы должны набрать ‘make clean’. См. Как запустить 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/Cleanup.html