makefile 第一次make 失败,第二次make成功
就是我用makefile写一个递归遍历子目录的.c文件 然后把生成的.o 文件都放在一个文件夹,最后再gcc 连接 但是第一次make 总是说 make: *** 没有规则可以创建“sd”需要的目标“/home/huwei/工作/study/make/objs/*.o”。 停止。
但是可以看到.o 文件都是已经生成了的 这时候我再make 然后就不报错通过了
$(SUBDIRS):ECHO
$(shell mkdir -p objs)
make -C $@
ECHO:
@echo $(SUBDIRS)
#将c文件编译为o文件,并放在指定放置目标文件的目录中即OBJS_DIR
$(CUR_OBJS):%.o:%.c
$(CC) $(INC) -c $^ -o $(ROOT_DIR)/$(OBJS_DIR)/$@
sd:$(ROOT_DIR)/$(OBJS_DIR)/*.o
$(CC) $^ -o $@
@rm -rf ./$(OBJS_DIR)
clean:
@rm -rf ./sd
@rm -rf ./objs