The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Каталог документации / Раздел "Документация для Linux" / Оглавление документа
next up previous contents index
Next: Создание make-файлов Up: Средство управления проектом make Previous: Шаблонные правила   Contents   Index

Специальные действия

Часто удобно иметь цели, которым не ставится в соответствие никакая генерация файлов. Если действия цели не создают файла с соответствующим именем, то исходя из принципов работы gmake действия для цели будут выполняться всякий раз, когда gmake обратится к ней. Обычно это используют для помещения в make-файл стандартной операции ``очистки'', определяющей способ удаления неиспользуемых файлов. Например, Вы часто можете встретить в make-файле такое правило:

clean:

rm -f *.o

Каждый раз, при выполнении команды gmake clean, это действие будет удалять все файлы .o.

Программа gmake обычно выводит инофрмацию о выполнении каждого действия, но иногда это не желательно. Поэтому символ `@' в начале действия может запретить вывод по умолчанию. Вот пример его обычного использования:


edit : $(OBJS)|

@echo Linking edit ...
@gcc -g -o edit $(OBJS)
@echo Done
Результатом этих действий будет то, что в начале компиляции Вы увидите строку ``Linking edit...'', а в конце компиляции - строку ``Done''.

Когда gmake встречает действие, возвращающее ненулевой код выхода, т.е. сообщение об ошибке по соглашениям UNIX, его стандартной реакцией является прекращение обработки. Коды ошибок от строк действий, начинающихся с символа `-' (возможно с предшествующим `@') игнорируются. Ключ -k для gmake приводит в случае ошибки к прекращению обработки только текущего правила (и всех, зависящих от него целей), позволяя продолжить обработку всех последующих.



Alex Otwagin 2002-12-16


  Закладки на сайте
  Проследить за страницей
Created 1996-2017 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
Hosting by Ihor