У меня есть следующие сделать файл:gnu make игнорировать .INCLUDE_DIRS?
$ cat foo.mk
.INCLUDE_DIRS += ..
$(info include_dirs is [${.INCLUDE_DIRS}])
include upper.mk
В каталоге один уровень выше, у меня есть
$ cat ../upper.mk
$(info HERE!!)
Когда я бегу Makefile, я получаю:
$ make -f foo.mk
include_dirs is [/usr/include /usr/local/include /usr/include ..]
foo.mk:3: upper.mk: No such file or directory
make: *** No rule to make target 'upper.mk'. Stop.
также не эта работа, даже если я укажу абсолютный путь:
.INCLUDE_DIRS += /absolute/path/to/include/file
Почему make
не находит upper.mk
, хотя я добавил каталог, в котором его можно найти (..
), переменной .INCLUDE_DIRS
?
Обратите внимание, что это делает работу:
$ make --include-dir=.. -f foo.mk
include_dirs is [.. /usr/include /usr/local/include /usr/include]
HERE!!
Информация о версии:
$ make --version
GNU Make 4.0