У меня есть такая цель:
curly:
curl --header "Content-Type: application/json" --data \
'data line 1 \
data line 2' \
${URL}
Важно, чтобы две строки данных отображались отдельно, чтобы пользователю Makefile было легче увидеть, что происходит.
Это прекрасно работает. Но потом я хотел добавить вторую цель. Я не хочу дублировать данные, поэтому надеялся определить макрос и использовать его в обеих целях:
DATA = data line 1 \
data line 2
curlier:
curl --header "Content-Type: application/json" --data \
'${DATA}' \
${URL2}
Это тоже не работает. Команда выполняется правильно, но при повторении рецепта строки данных запускаются вместе.
Я пробовал трюк, определяя макрос новой строки и вставляя его в строку DATA, но безрезультатно .
Я могу получить чистый результат, повторно вызвав make, но моему рецензенту это не нравится.
Есть другие предложения?