Запустите make file как весь процесс - PullRequest
0 голосов
/ 25 июня 2018

Я создал этот простой make-файл и хочу запустить весь процесс с make

пока он запускается только в первом разделе module1, а не module2, что мне здесь не хватает?

.PHONY: module1
module1:
    @echo "run module 1"
    DIR=$(PWD)
    @echo $(DIR)



.PHONY: module2
module2:
       @echo "run module2"

если я запускаю make module2, то module2 выполняется успешно, но я хочу, чтобы все выполнялось в команде make, и насколько я прочитал в сети, как это должно работать, что здесь не так?

1 Ответ

0 голосов
/ 25 июня 2018

Из документации ...

По умолчанию цель является первой целью в make-файле (не считая цели, которые начинаются с точки). Поэтому, make-файлы обычно написано так, что первая цель для компиляции всей программы или программы, которые они описывают. Если первое правило в make-файле имеет несколько целей, по умолчанию только первая цель в правиле цель, а не весь список. Вы можете управлять выбором по умолчанию Цель из вашего make-файла с использованием переменной .DEFAULT_GOAL (см. Другие специальные переменные).

Так что вам просто нужно указать подходящую цель по умолчанию - all это "традиционный" ...

all: module1 module2

Итак, полный makefile будет ...

all: module1 module2

.PHONY: module1
module1:
    @echo "run module 1"
    DIR=$(PWD)
    @echo $(DIR)

.PHONY: module2
module2:
    @echo "run module2"
...