makefile bash recipe - включает файл, если существует во время рецепта - PullRequest
0 голосов
/ 26 апреля 2020

У меня есть make-файл, который запускает некоторые пользовательские инструменты. Один из этих инструментов иногда выплевывает дополнительный файл. Этот файл должен быть использован в следующем рецепте (если он существует). Я не могу предположить, что это существует в зависимостях, но я должен использовать добавить это к последующей команде рецепта, если это там. Вот как я сейчас справляюсь:

final_recipe:
 [ ! -f "maybe.file" ] || tool maybe.file ...
 [ -f "maybe.file" ] || tool ...

Это безобразно. Любые предложения для исполняемой строки bash, где bash может оценить, существует ли файл, и встроить его, если он существует? Нечто подобное:

final_recipe
 tool ([ -f "maybe.file"] ? maybe.file) ...

1 Ответ

1 голос
/ 26 апреля 2020

Это может достичь того, что вы хотели:

final_recipe:
    tool $$(test -f maybe.file && echo maybe.file) ...

Обновлено после комментария MadScientist

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...