Microsoft WSL发出问题

时间:2018-09-07 05:50:01

标签: makefile windows-subsystem-for-linux ubuntu-18.04

我正在尝试在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

1 个答案:

答案 0 :(得分:0)

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