Makefile小结

  • -fPIC : 编译共享库(-shared)
  • -Wall : 编译后显示所有警告
  • -pipe : 使用管道代替临时文件
  • -Idir : 将dir加入搜索头文件的路径列表
  • -w : 禁止显示所有警告信息
  • -Xlinker : 用于链接很多静态库, -Xlinker “-(“ libtest1.a libtest2.a-Xlinker “-)”,如果libtest2.a中使用了libtest1.a中的接口,不使用这个关键字的话,必须将libtest2.a写在libtest1.a前面,加了这个参数之后则没有这个限制
  • -lpthread : 多线程链接
  • -lcrypto : 链接crypto库,用于加密
  • -g : 支持gdb调试用
  • $@ : 目标文件
  • $^ : 所有依赖文件
  • $< : 第一个依赖的文件
  • ar rcs : 生成.a文件
  • -static : 使用静态编译,把动态库的函数和所依赖的东西都编译进本程序,生成文件会非常大,但运行时不需要任何动态库
  • makefile中的命令前要使用tab
  • -D : 通过宏定义控制源程序的编译, 在程序中通过#ifdef/#else/#endif来控制
  • linux程序安装过程
    1. ./configure : 用来生成makefile,–prefix用来制定安装的路径,比如:./configure –prefix = /home/work/python, 则执行文件会安装在/home/work/python/bin目录下,资源文件会安装在/home/work/python/share目录下
    2. make : 编译程序
    3. make install : 安装
------ 本文结束 ------
k