Makefile: запустить на основе теста переменной - PullRequest
1 голос
/ 08 марта 2012

У меня есть make-файл с правилом для создания нескольких целей и создания из него одного пакета.

TARGETS=t1 t2 t3 t4

pack_it:
    -for t in $(TARGETS); do \
        $(MAKE) -C $$t install DESTDIR='temp' ); \
    done
    tar czvf package.tar.gz -C tmp *

Теперь я хотел бы иметь возможность передавать из командной строки, какие цели я хочуупаковать, как это:

make pack_it t1 t4

Как мне проверить аргументы, чтобы узнать, нужно ли мне запускать make install для цели?

Спасибо!

1 Ответ

3 голосов
/ 08 марта 2012

Вы можете просто переопределить TARGETS из командной строки:

$ make pack_it TARGETS="t1 t4"

Не нужно ничего менять в make-файле.

...