#makefile #gnu-make #windows-subsystem-for-linux
#makefile #gnu-make #windows-subsystem-for-linux
Вопрос:
Я пытаюсь запустить некоторые базовые целевые объекты makefile, но кажется, что make сам возвращает корневую папку /
вместо папки, в которой я нахожусь. Это приводит к тому, что все файлы не будут найдены, поскольку он пытается выполнить поиск в корневой папке вместо текущей папки, даже если CURDIR
возвращает правильно.
Я использую WSL2, Ubuntu 20.04, использую GNU Make 4.2.1 с oh-my-zsh
Тестирование:
include Test.mk
wsl: ## Testing WSL make targets
pwd
echo "${CURDIR}"
Test.mk:
SHELL=/bin/bash
Вывод:
> make wsl
pwd
/
echo "/home/limonkufu/test-wsl"
/home/limonkufu/test-wsl
Если вы закомментируете оператор include или SHELL, он работает как ожидалось ( /home/limonkufu/test-wsl
также выводится pwd
как вывод)
Комментарии:
1. Как вы работаете
make
? Вы уверены, что выполняете правильноеmake
?2. просто запуск
make
иwhich make
возврат/usr/bin/make
, поэтому я думаю, что это правильный3. То, что вы указали, не может быть результатом makefile, который вы показываете здесь. Во-первых, сами команды не печатаются, и make всегда будет печатать команды. Пожалуйста, покажите точную команду, которую вы ввели, полный результат, который вы получили (используйте вырезать и вставить, чтобы убедиться, что нет опечаток), и файл makefile, который вы использовали, и укажите имя файла makefile.
4. Я пропустил фактические команды, как вы сказали, и теперь исправил это в своем сообщении, извините.
5. Если вы введете
pwd
в командной строке, что она скажет? Это похоже на проблему wsl.