0

这是一种愚蠢的问题,但这是我第一次使用Makefile. 我在选择文件时遇到问题。当我使用这个命令时,

target1:

     $(CC) -o target *.c

它运作良好。但这不起作用,

SRCS = dir1/*.c
target1:

     $(CC) -o target $(SRCS)

并吐出这个错误。

clang: error: no such file or directory: 'dir1/*.c'

显然这是因为我的变量SRCS在传递之前被转义了。如何让 Makefile 按原样传递字符串?还是有另一种传统/设计的方式来做到这一点?(按模式选择文件)

4

2 回答 2

3

您可以使用wildcard关键字来选择与特定模式匹配的所有文件,如下所示:

SRCS = $(wildcard dir1/*.c)
target1:

     $(CC) -o target $(SRCS)
于 2013-03-03T00:10:40.557 回答
1
SRCS := $(shell echo dir1/*.c)
target1:
    $(CC) -o target $(SRCS)
于 2013-03-03T00:14:33.973 回答