linux: 几个常用makefile模板
不才,总结个人常用makefile模板,以备后用。
1、编译动态库
- #############################################################
- # Makefile for shared library.
- # 编译动态链接库
- #############################################################
- #set your own environment option
- CC = g++
- CC_FLAG = -D_NOMNG -D_FILELINE
- #set your inc and lib
- INC =
- LIB = -lpthread -L./ -lsvrtool
- #make target lib and relevant obj
- PRG = libsvrtool.so
- OBJ = Log.o
- #all target
- all:$(PRG)
- $(PRG):$(OBJ)
- $(CC) -shared -o $@ $(OBJ) $(LIB)
- .SUFFIXES: .c .o .cpp
- .cpp.o:
- $(CC) $(CC_FLAG) $(INC) -c $*.cpp -o $*.o
- .PRONY:clean
- clean:
- @echo "Removing linked and compiled files......;
- rm -f $(OBJ) $(PRG)
2、编译静态库
- #############################################################
- # Makefile for static library.
- # 编译静态链接库
- #############################################################
- #set your own environment option
- CC = g++
- CC_FLAG = -D_NOMNG -D_FILELINE
- #static library use 'ar' command
- AR = ar
- #set your inc and lib
- INC =
- LIB = -lpthread -L./ -lsvrtool
- #make target lib and relevant obj
- PRG = libsvrtool.a
- OBJ = Log.o
- #all target
- all:$(PRG)
- $(PRG):$(OBJ)
- ${AR} rv ${PRG} $?
- .SUFFIXES: .c .o .cpp
- .cpp.o:
- $(CC) $(CC_FLAG) $(INC) -c $*.cpp -o $*.o
- .PRONY:clean
- clean:
- @echo "Removing linked and compiled files......"
- rm -f $(OBJ) $(PRG)
3、可执行程序
- ###########################################
- #Makefile for simple programs
- ###########################################
- INC=
- LIB= -lpthread
- CC=CC
- CC_FLAG=-Wall
- PRG=threadpooltest
- OBJ=CThreadManage.o CThreadPool.o CThread.o CWorkerThread.o threadpooltest.o
- $(PRG):$(OBJ)
- $(CC) $(INC) $(LIB) -o $@ $(OBJ)
- .SUFFIXES: .c .o .cpp
- .cpp.o:
- $(CC) $(CC_FLAG) $(INC) -c $*.cpp -o $*.o
- .PRONY:clean
- clean:
- @echo "Removing linked and compiled files......"
- rm -f $(OBJ) $(PRG)
随机组合、举一反三会写出适合项目的makefile
linux: 几个常用makefile模板的更多相关文章
- linux下 几个常用makefile模板,亲测可用
一 生成动态链接库的模板: ####################### # Makefile ####################### # compile and lib parameter ...
- 引用 模块编译Makefile模板
本文转载自geyingzhen<模块编译Makefile模板> 引用 geyingzhen 的 模块编译Makefile模板 ifneq ($(KERNELRELEASE), ) // ...
- 1、编写一个简单Makefile模板
一.Makefile简介 一个工程中的源文件不计其数,其按类型.功能.模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译, ...
- Linux中Grep常用的15个例子【转】
转自:https://www.aliyun.com/jiaocheng/1390860.html?spm=5176.100033.1.9.6a1e41e8Pdjynm 摘要:Grep命令主要用于从文件 ...
- Linux 使用 github 常用命令
Linux 使用 github 常用命令 今天整理一下常用的 github 命令,自己只是一个编程小白,有些地方可能做的不是很好,仅仅用作自己的学习使用. 创建一个文件夹用于存放github仓库 m ...
- Linux Shell数组常用操作详解
Linux Shell数组常用操作详解 1数组定义: declare -a 数组名 数组名=(元素1 元素2 元素3 ) declare -a array array=( ) 数组用小括号括起,数组元 ...
- linux系统的常用命令
linux系统中常用的命令如下(以后经常补充): cd .. 返回上一级 cd use 进入use目录
- Linux入门学习 常用命令
cd命令 功能是切换到指定的目录:命令格式:cd [目录名]有几个符号作为目录名有特殊的含义:"/"代表根目录.".."代表上一级目录."~" ...
- Linux查看系统配置常用命令
Linux查看系统配置常用命令: 系统 # uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo ...
随机推荐
- OpenGL屏幕二维坐标转化成三维模型坐标
我们把OpenGL里模型的三维坐标往二维坐标的转化称为投影,则屏幕上的二维坐标往三维坐标转化则可以称为反投影,下面我们来介绍一下反投影的方法. 主要是gluUnProject函数的使用,下面是代码: ...
- iOS开发: 关于Certificate, Identifier & Profile
简介 苹果的iOS系统是封闭的系统.苹果的设计是保证每一个软件有确定的开发者/厂商(保证不被第三方进行未授权修改),只能在指定的设备上运行.为达到这些目标,苹果设计了一系列的机制. Certifica ...
- knn分类算法学习
K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一.该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的 ...
- 关于ul和dl的区别
1.ul是无序列表,也就是说没有排列限制可以随意加li:<ul><li>可以随意放置</li><li>可以随意放置</li><li&g ...
- redhat7.3配置163 yum源
redhat 的更新包只对注册的用户生效,所以我们需要自己手动更改成CentOS 的更新包,CentOS几乎和redhat是一样的,所以无需担心软件包是否可安装,安装之后是否有问题. 1.首先删除re ...
- codeforces 192A Funky Numbers
time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...
- 【锋利的Jquery】读书笔记五
jquery表单 表格操作 表单从基本的得到和失去焦点表单验证 <script type="text/javascript"> $(function(){ $(&quo ...
- CoreJavaE10V1P3.4 第3章 Java的基本编程结构-3.4 变量
1.在Java中,每一个变量都必须有一个类型,在变量声明是,类型必须在变量名之前.示例如下: double salary; int vacationDays; long earthPopulation ...
- ArrayList构造函数
//1.摘要: //初始化 System.Collections.ArrayList 类的新实例,该实例为空并且具有默认初始容量. // public ArrayList(); ArrayList a ...
- pyhon的数据类型
1.数字 整型和浮点型 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647在64位系统上,整数的位数为64位,取值范围为-2** ...