Как обновить переменную make-файла на основе ввода из командной строки? - PullRequest
0 голосов
/ 30 апреля 2020

Скажем, я определил переменную 'AB C = 0' в make-файле. Теперь, когда запускается make-файл, пользователю задают вопрос «Что это за программа?», Если пользователь вводит «pq», тогда обновите переменную make-файла «AB C» до 1, в противном случае оставьте все как есть.

1 Ответ

0 голосов
/ 01 мая 2020

Make не предназначен для взаимодействия с пользователем, но может делегировать эту задачу сценарию.

Рассмотрим этот сценарий:

#!/bin/bash

echo What type of program is it?
read

if [ "$REPLY" = pq ]; then
    echo 1
else
    echo 0
fi

Make может выполнить этот сценарий, собрать выходные данные и присвоить его переменной. Единственная хитрость заключается в том, что он будет собирать всех выходных данных, поэтому все, что не принадлежит (например, «Что это за программа»), следует удалить из сценария:

#!/bin/bash

read

if [ "$REPLY" = pq ]; then
    echo 1
else
    echo 0
fi

и обрабатывается make-файлом:

$(info  What type of program is it?)
ABC := $(shell ./ask.bsh)
...