makefile 第一次make 失败,第二次make成功

wayne_H3 2017-06-22 09:21:42
就是我用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
...全文
629 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wayne_H3 2017-06-22
  • 打赏
  • 举报
回复
第一次 make 之后 可以看到 .o 文件是已经生成了的
wayne_H3 2017-06-22
  • 打赏
  • 举报
回复
运行结果如下 第一次make失败

然后再make 一次 成功

23,223

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧