Получение текущего каталога в Makefile с примерами кода

Чтобы получить текущий каталог в Makefile и выполнить различные операции, вы можете использовать встроенные функции и переменные, предоставляемые GNU Make. Вот несколько методов с примерами кода:

Метод 1: использование переменной $(CURDIR)

.PHONY: print_directory
print_directory:
    @echo "Current Directory: $(CURDIR)"

Метод 2: использование функции $(shell)

.PHONY: print_directory
print_directory:
    @echo "Current Directory: $(shell pwd)"

Метод 3: использование функции $(abspath)

.PHONY: print_directory
print_directory:
    @echo "Current Directory: $(abspath .)"

Метод 4. Использование функции $(realpath)

.PHONY: print_directory
print_directory:
    @echo "Current Directory: $(realpath .)"

Метод 5: использование функции $(notdir) с фиктивной переменной

.PHONY: print_directory
print_directory:
    $(eval CURRENT_DIR := $(shell pwd))
    @echo "Current Directory: $(notdir $(CURRENT_DIR))"

Эти методы отобразят текущий каталог при запуске команды make print_directory.