1.标准Makefile文件示例如下:

#把.o .C .cxx .cpp .hxx .h添加到后缀列表中。
.SUFFIXES: .o .C .cxx .cpp .hxx .h #设置变量并赋值,方便后面编译链接
CC= g++ -D_LINUX_ -fpermissive -Wall -Wno-format-y2k
DEBUG=-g
C++FLAGS= $(DEBUG) -D_PTHREAD_USE_D4 -D_ORACLE_ -DHISSVR_A -D_OSVer4 -DONE_DAY -D_EXTENSIONS_ LIB_DIR = -L$(HOME)/lib -L$(HOME)/src/lib -L$(HOME)/service/src/lib
LIB= -ldl -lpthread -lrtdb_api -ldcisg_dm -lmode_manage -lrte -lservices INC_DIR = -I./include -I$(HOME)/src/include OBJS = maintenance_ticket.o #.cpp.o是老式的“后缀规则”,编译器将会自动将.cpp识别为源文件后缀,而.o识别为输出文件后缀。特别需要注意的是,后缀规则不允许任何依赖文件,但也不能没有命令。
#$^表示所有依赖,($<表示第一个依赖)($@表示目标文件).也就是将所有的.cpp文件都生成对应的.o文件。
.cpp.o:
$(CC) $(C++FLAGS) $(INC_DIR) -c $< .cxx.o:
$(CC) $(C++FLAGS) $(INC_DIR) -c $< maintenance_ticket : maintenance_ticket.o
$(CC) $(C++FLAGS) $(INC_DIR) -o maintenance_ticket maintenance_ticket.o $(LIB_DIR) $(LIB) clean:
rm -f $(OBJS) #伪目标,即使当前存在clean文件对象,也会继续执行这个伪目标。
.PHONY: clean

并赋值,方便后面编译链接
 

最新文章

  1. iOS App 获取从后台返回前台时的页面
  2. MVC控制器取参数值
  3. Qt操作xml文件(增删改功能)
  4. WebService是什么?
  5. WPF解析PDF为图片
  6. Jquery OR Js 实现图片预览
  7. STL之algorithm、numeric、functional
  8. json字符串、json对象、数组 三者之间的转换
  9. Maven学习笔记(四):协调和依赖
  10. jQuery表单对象属性过滤选择器
  11. android 开机自启动实现
  12. 一篇文章介绍GItHub的基础使用
  13. PHPMailer发送邮件失败:SMTP connect failed
  14. Scala:集合类型Collection和迭代器
  15. 运行ant脚本(转载)
  16. echarts 专题
  17. Java多线程:向线程传递参数的三种方法
  18. 02、创建RDD(集合、本地文件、HDFS文件)
  19. LINUX实践--程序破解
  20. Python数据类型-01.数字和布尔值

热门文章

  1. keepalived中vrrp_script,track_script,notify的使用方法
  2. CSS压缩
  3. 贪心+MST——cf1095F
  4. Linq Lambda 中group by多列后count数量的写法
  5. Docker系列(三):Docker自定义容器镜像
  6. FastJSON实现详解
  7. 06_mybatis关系映射
  8. Django杂篇(2)
  9. POJ 2954 /// 皮克定理+叉积求三角形面积
  10. angularJs FileUpload插件上传同一文件无效问题记录