makefile字符串数组
时间: 2023-06-22 10:42:29 浏览: 363
在 Makefile 中,可以使用变量来表示字符串数组。下面是一个示例:
FILES = file1.c file2.c file3.c
上述代码中,FILES
表示一个字符串数组,包含了三个文件名。可以使用 $()
或 ${}
语法来引用数组中的元素,例如:
$(FILES:file%.c=obj%.o)
上述代码中,使用了模式替换语法,将 FILES
数组中以 file
开头、以 .c
结尾的文件名替换成以 obj
开头、以 .o
结尾的文件名。这样就可以方便地对字符串数组进行处理。
相关问题
循环遍历makefile字符串数组
在Makefile中,可以使用变量来存储字符串数组。如果想要循环遍历这个字符串数组,可以使用foreach函数和空格作为分隔符来实现。例如:
SOURCES := file1.c file2.c file3.c
OBJECTS := $(foreach src,$(SOURCES),$(src:.c=.o))
all: $(OBJECTS)
%.o: %.c
gcc -c $< -o $@
在这个例子中,SOURCES变量存储了三个文件名,OBJECTS变量使用foreach函数将每个文件名替换为其对应的对象文件名。然后,在all目标中,我们使用OBJECTS变量来构建所有的目标文件。在%.o规则中,我们使用$<和$@来分别代表源文件和目标文件。
你可以根据具体的需求修改这个例子来满足你的要求。
循环遍历并打印makefile字符串数组
在Makefile中,可以使用foreach函数和info函数来循环遍历并打印字符串数组。例如:
SOURCES := file1.c file2.c file3.c
print_sources:
$(foreach src,$(SOURCES),$(info $(src)))
在这个例子中,我们定义了一个名为print_sources的目标,它使用foreach函数和info函数来循环遍历SOURCES变量中的每个文件名,并打印出来。如果你运行make print_sources命令,你将会看到类似下面的输出:
file1.c
file2.c
file3.c
你可以根据具体的需求修改这个例子来满足你的要求。
相关推荐
















