制作通配符功能是 truncating/removing 输入的文件名
Make wildcard function is truncating/removing inputted filenames
我正在尝试通过 GNU Make 4.3 运行 为 i686-w64-mingw32 构建的 Makefile。 Makefile 中的一行以下列方式使用通配符函数来尝试获取工作目录中每个 .c 文件的名称。然而,文件名总是被 t运行 修饰,或者在某些情况下被彻底删除。例如,我制作了一堆文件:
touch Makefile m_test1.c m_test2.c test_1.c test_2.c test_t1.c test_t2.c test1.c test2.c
并用以下内容填充 Makefile:
SRC_C = $(wildcard *.c)
print1:
$(info $$SRC_C is [${SRC_C}])
然而,以下内容打印到控制台:
$SRC_C is [1.c 2.c t1.c t1.c t2.c t2.c]
重新安装 Make 似乎可以解决问题。回想起来,我之前一直在搞乱旧版本的 MinGW,所以也许那个版本的 Make 在最近的 Windows 版本中不能正常工作。
我正在尝试通过 GNU Make 4.3 运行 为 i686-w64-mingw32 构建的 Makefile。 Makefile 中的一行以下列方式使用通配符函数来尝试获取工作目录中每个 .c 文件的名称。然而,文件名总是被 t运行 修饰,或者在某些情况下被彻底删除。例如,我制作了一堆文件:
touch Makefile m_test1.c m_test2.c test_1.c test_2.c test_t1.c test_t2.c test1.c test2.c
并用以下内容填充 Makefile:
SRC_C = $(wildcard *.c)
print1:
$(info $$SRC_C is [${SRC_C}])
然而,以下内容打印到控制台:
$SRC_C is [1.c 2.c t1.c t1.c t2.c t2.c]
重新安装 Make 似乎可以解决问题。回想起来,我之前一直在搞乱旧版本的 MinGW,所以也许那个版本的 Make 在最近的 Windows 版本中不能正常工作。