1 、目录结构

practice6 / ui / ui.h   ui.c

practice6 / dal / dal.h dal.c

practice6 / bll / bll.h  bll.c

practice6 / main.c

pracitce6 / Makefile

2、Makefile写法及说明

CC = gcc
CFLAGS = -Wall -g
BIN = main.out
SUBDIR = $(shell ls -d */) //调用shell命令 ls -d */ 列出当前目录的子目录,不包含当前目录中的文件
ROOTSRC = $(wildcard *.c ) //$(wildcard *.c)表示从当前目录中查找*.c的文件/文件夹
ROOTOBJ = $(ROOTSRC: %.c = %.o) //把ROOTSRC字符串中的.c结尾的字符串替换为.o结尾的字符串, %.c是GNUMake的写法,相当于shell的*.c
SUBSRC = $(shell find $(SUBDIR) -name '*.c') //调用shell命令在当前目录的子目录中查找名字为 *.c 的所有文件
SUBOBJ = $(SUBSRC: %.c = %.o) //在SUBSRC字符串中把.c结尾的字符串替换为.o结尾的字符串 $(BIN) : $(ROOTOBJ) $(SUBOBJ) //gcc生成main.out文件
$(CC) $(CFLAGS) -o $@ $^
.c.o: //表示.c 文件 依赖于 .o文件
$(CC) $(CFLAGS) -c $< -o $@
clean:
rm -f $(BIN) $(ROOTOBJ) $(SUBOBJ)

3、过程及截图

未完待续...

最新文章

  1. 相机位姿估计1_1:OpenCV:solvePnP二次封装与性能测试
  2. 学习taobao框架
  3. AngularJs自定义指令详解(3) - scope
  4. Poj-1157-LITTLE SHOP OF FLOWERS
  5. 02_Jquery_02_元素选择器
  6. boost库asio详解1——strand与io_service区别
  7. C++ 虚函数 、纯虚函数、接口的实用方法和意义
  8. selenium获取动态网页信息(某东)-具体配置信息
  9. hdu_1041(Computer Transformation) 大数加法模板+找规律
  10. java I/O框架 (二)文件操作(File)
  11. Java的深拷贝和浅拷贝
  12. 浅析JavaScript的prototype
  13. Java第5次实验提纲(集合)
  14. SQL Server 恢复数据库至指定时间点
  15. openPose-注
  16. Django框架导读
  17. [原]在使用ubuntu14.04,安装devstack的时候报错./stack.sh: line 463: generate-subunit: command not found
  18. Google advertiser api开发概述——入门指南
  19. Html标签及各种属性(持续更新)
  20. raiDrive添加坚果云

热门文章

  1. jdbc事务
  2. POJ1986 DistanceQueries 最近公共祖先LCA 离线算法Tarjan
  3. MapReduce编程系列 — 6:多表关联
  4. Use Eclipse to develop groovy[docs.codehaus.org]
  5. linux scp
  6. (1)WinForm和WebForm
  7. BZOJ 3143 游走(高斯消元)
  8. cmd打开git
  9. bzoj1717: [Usaco2006 Dec]Milk Patterns 产奶的模式
  10. 事务报错 [Exception] 当前 TransactionScope 已完成