- 论坛徽章:
- 0
|
- $(TARGET):
- >---$(MKDIR) $(OUTDIR)
- >---for dir in $(SUBDIRS); do \
- >--->---$(MAKE) -C $dir; done
- >---$(warning $(OUTDIR))
- >---$(warning $(OUTDIR)/socket.o)
- >---$(warning before: $(wildcard $(OUTDIR)/*.o))
- >---$(CC) $(CFLAGS) $(filter-out $(OUTDIR)/socket.o,$(wildcard $(OUTDIR)/*.o)) -o $(TARGET) $(LDFLAGS)
- >---$(warning after: $(wildcard $(OUTDIR)/*.o))
复制代码 执行makefile后有两个疑问:
1. 为什么四个warning先打印出来,先于其他语句执行?并且before和after中wildcard都返回null。
2. 在执行完$(MAKE) -C $$dir后OUTDIR中已经有.o文件了,但$(CC) $(CFLAGS) $(filter-out $(OUTDIR)/socket.o,$(wildcard $(OUTDIR)/*.o))仍然失败,即wildcard没有返回.o文件。难道wildcard在整个make file执行前就解析了?
请大家帮忙看一下,谢谢了! |
|