Мое правило невидимо при объявлении в подфайл make-файла - PullRequest
0 голосов
/ 06 ноября 2018

Это упрощенные примеры моего вопроса.

У меня есть:
Makefile в top / sub / sub / dir:

THINGSTODO := dothis

dothis:
    @echo Do cool stuff

Основной make-файл в верхнем каталоге:

all: $(THINGSTODO)
    @echo do important stuff

Makefile в подкаталогах включается автоматически.

Если я запускаю это (сделать все), я получаю:
Нет правила, чтобы сделать цель 'dothis', необходимой для 'all'.

Мой вывод заключается в том, что переменная THINGSTODO получает значение, но по какой-то причине правило "dothis" не отображается.

Если я помещаю правило "dothis" в основной make-файл, оно работает как шарм Но я не хочу менять основной make-файл, я просто хочу добавить правило в make-файл sub / sub / dir, которое выполняется до выполнения правила "all".

Мне, должно быть, не хватает жизненно важных знаний, чтобы решить это. Какие-либо предложения? Спасибо.

система: Linux 4.18.13-100.fc27.x86_64
make: GNU Make 4.2.1 (построен для x86_64-redhat-linux-gnu)

...