我希望通过这个小脚本总结出我想要实现的目标.
DIRS = dir1 dir2 dir3 dir4 ...
OBJS =
all: GENERATE_OBJECT_FILES
GENERATE_OBJECT_FILES:
for curr_dir in $(DIRS); \
do \
$(join $(OBJS), `ls $${curr_dir}/*.o`); \
done
echo $(OBJS);
Run Code Online (Sandbox Code Playgroud)
如何使用Makefile中的脚本完成此操作?
我这样做:
DIRS = dir1 dir2 dir3 dir4 ...
OBJS = $(wildcard $(DIRS:=/*.o))
GENERATE_OBJECT_FILES:
@echo $(OBJS);
Run Code Online (Sandbox Code Playgroud)
我会在配方之外使用wildcard函数,如下所示:
DIRS := dir1 dir2 dir3 dir4 ...
OBJS := $(foreach dir,$(DIRS),$(wildcard $(dir)/*.o))
all : $(OBJS)
@echo $^
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12131 次 |
| 最近记录: |