Как использовать cat для объединения файлов в Makefile?

Все просто:

!/bin/bash

while :
do
   echo "Enter a positive integer number (-99 to quit):"
   read NUMBER

   if (( NUMBER == -99 ))
   then
      exit
   fi

   echo "$NUMBER: "

   COUNTER=1
   while (( COUNTER <= NUMBER ))
   do
       echo $COUNTER
       ((COUNTER++))
   done
done
0
14.12.2019, 18:23
2 ответа

Ваше правило может выглядеть так

directory_name/all.txt: $(FILES)
        cat $(FILES) > $@

Это обеспечило бы максимальную переносимость, чтобы правило работало как с GNU make, так и с BSD make(, которые могут не понимать $^; вы не говорите, какую реализацию вы используете ). Обратите внимание, что строка с командой catдолжна иметь отступ с символом табуляции.

0
28.01.2020, 03:00

Список зависимостей просто $ (FILES ).

По сути, это просто расширяет именованный список. Таким образом, цель переделывается, если какой-либо из файлов, которые способствуют ее достоверности, новее, чем сама цель.

Существует сокращение, которое будет использовать подстановочные знаки для файлов, если у вас есть шаблон. Для вашего примера, вероятно, просто:

FILES= file[1-9]

0
28.01.2020, 03:00

Теги

Похожие вопросы