Microsoft WSL make 问题

Microsoft WSL make issue

我正在尝试在 WSL 中构建一个项目。同一项目在 ubuntu18.04 VM 中编译,但在 WSL ubuntu18.04 中不编译。我看到的问题是 make 无法在 makefile 中包含 MakefileCommom。 makefile内容如下:

-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

路径名中的波浪号 ~ 是一个神奇的字符,可扩展到 POSIX 系统上的用户主目录。我不知道它在 Windows 中扩展到什么,但我猜这不是您所期望的。尝试在此处放置真实路径而不是使用 ~。您也可以 运行 make -d 并检查输出以查看它用于 MakefileCommon.

的路径名