驱动程序的makefile在路径中不接受空格,该如何解决?

时间:2019-06-02 11:06:29

标签: makefile

我正在尝试修复一个makefile,即使它在带有空格的路径(此文件夹所在的文件夹中有空格)中也可以工作,但我无法弄清楚

我尝试以多种组合添加引号并搜索TopDIR代码,但找不到任何有用的

这是带有makefile的源代码 https://github.com/uzh-rpg/rpg_dwa171_wifidongle.git

问题似乎在这里,此代码获取TopDIR,但如果路径中的文件夹中有空格,则会导致错误。

########### HAL_RTL8821C #################################
ifeq ($(CONFIG_RTL8821C), y)
include $(TopDIR)/rtl8821c.mk #<-line 824#
endif

预期将运行make过程,并且如果文件夹中没有空间,它将运行

但是如果有空格,则会出现此错误:

Makefile:824: drivers/rpg_dwa171_wifidongle/rtl8821c.mk: No such file or directory
make: *** No rule to make target 'drivers/rpg_dwa171_wifidongle/rtl8821c.mk'.  Stop.

在这里,名为“ wifi驱动程序”的文件夹会破坏代码

1 个答案:

答案 0 :(得分:0)

include中的空格可以用反斜杠转义。例如,

space := $(space) #
include $(subst $(space),\$(space),$(TopDir))/rtl8821c.mk