Сценарий сборки в Makefile - PullRequest
       0

Сценарий сборки в Makefile

2 голосов
/ 03 января 2012

Я изо всех сил пытаюсь написать Makefiles, и я собираю несколько примеров , чтобы учиться у них. Я хочу использовать Makefiles, так как это делает сборки параллельными, проекты более унифицированными и более простыми в управлении.

Есть ли у вас ресурсы для обмена?

Например, я изо всех сил пытаюсь придумать, как превратить этот простой сценарий сборки в файл Makefile, чтобы index.html создавался только при изменении его index.src.html.

for i in */index.src.html
do
    anolis --max-depth=3 $i $(dirname $i)/index.html
done

1 Ответ

2 голосов
/ 03 января 2012

Попробуйте использовать шаблонное правило.Из руководства по сборке GNU Makefile :

Таким образом, правило шаблона "% .o:% .c" говорит, как сделать любой файл stem.o из другого файла stem.c.

Итак, что-то вроде

INFILES = $(shell find . -name index.src.html)
OUTFILES = $(addsuffix .html, $(basename $(basename $(INFILES))))

default: $(OUTFILES)

%.html : %.src.html
    anolis --max-depth=3 $< $@

clean:
    rm -f $(OUTFILES)

Трюк превращается в создание INFILES надежным и безопасным способом.

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