我正在尝试在WSL中构建一个项目。同一项目将在ubuntu18.04 VM中编译,但不会在WSL ubuntu18.04中编译。我看到的问题是make无法在makefile中包含MakefileCommom。 生成文件的内容如下:
-include ~/MakefileCommon
RM := rm -rf
all:
$(MAKE) -f ./$(MAKEFILE_TARGET) $@
clean:
$(MAKE) -f ./$(MAKEFILE_TARGET) $@
image:
$(MAKE) -f ./$(MAKEFILE_TARGET) $@
uninstall:
$(MAKE) -f ./$(MAKEFILE_TARGET) $@
-include ../makefile.targets
我正在使用的命令是:
make -C builds clean all
我得到的错误是:
make -f ./ clean
make[1]: *** ./: Is a directory. Stop.
因此,我看到$(MAKEFILE_TARGET)是要导入的注释。导入语句位于MakefileCommon
中答案 0 :(得分:0)
路径名中的波浪号~
是一个神奇的字符,它会扩展到POSIX系统上用户的主目录。我不知道它在Windows中会扩展到什么地方,但是我猜这不是您所期望的。尝试在此处放置真实路径,而不要使用~
。另外,您可以运行make -d
并检查输出以查看其用于MakefileCommon
的路径名。