linux下 几个常用makefile模板,亲测可用

一 生成动态链接库的模板:

  

 1 #######################
 2 # Makefile
 3 #######################
 4
 5 # compile and lib parameter
 6 CC      := g++
 7 LIBS    :=
 8 LDFLAGS :=
 9 DEFINES :=
10 INCLUDE := -I.
11 CFLAGS  :=
12 CXXFLAGS:=
13
14 # link parameter
15 #LIB := libfunc.so
16 LIB := libfunc.a
17
18 #link
19 $(LIB):func.o
20         $(CC) -shared -o -fPIC -o [email protected] $^
21 #compile
22 func.o:thread.c
23         $(CC) -c -fPIC $^ -o [email protected]
24
25 # clean
26 clean:
27         rm -fr *.o

 

二 编译可执行程序的模板:

 1 ###########################################
 2 #Makefile for simple programs
 3 ###########################################
 4 INC=
 5 LIB= -lpthread
 6
 7 CC=gcc
 8 CC_FLAG=-Wall
 9
10 PRG=threadtest
11 #OBJ=thread.o CThreadPool.o CThread.o CWorkerThread.o threadpooltest.o
12 OBJ=thread.o
13
14 $(PRG):$(OBJ)
15         $(CC) $(INC) -o [email protected] $(OBJ) $(LIB)
16
17 .SUFFIXES: .c .o .cpp
18 .cpp.o:
19         $(CC) $(CC_FLAG) $(INC) -c $*.cpp -o $*.o
20
21 .PRONY:clean
22 clean:
23         @echo "Removing linked and compiled files......"
24         rm -f $(OBJ) $(PRG)

  测试结果:

1 参考文档: https://blog.csdn.net/lzx_bupt/article/details/7988192

2 代码所在路径: https://github.com/DyLanCao/iApply/tree/master/c_example/makefile

原文地址:https://www.cnblogs.com/dylancao/p/9409224.html

时间: 2024-11-05 11:39:21

linux下 几个常用makefile模板,亲测可用的相关文章

Linux下安装GCC5.3.0(亲测有效)

对于linux小白来说,只需要先知道怎么安装,至于为什么等学了linux再说吧..知识不系统的坏处啊! 首先,一般ubuntu上都预装了低级版本的Gcc,完全可以应付刷OJ时的C+Class+STL的风格,但因为寒 假里非常固执地要看C++primer,所以只能把编译器升级到最新版本以符合C++11/14标准. 安装GCC必备的几个东西: 1.gcc5.3.0的源代码压缩包,这个可以直接去GCC的FTP站上下载.文件名是gcc-5.3.0.tar.gz(wget) 2.四个压缩包: m4(即an

【TP3.2】TP3.2下实现ajax分页(原创+亲测可用)

一,写在最开始:ajax分页的原理,是利用了js的ajax执行请求,获取分页list和分页page [代码块],去替换页面显示数据的[代码块] 技术:js的ajax + TP3.2的fetch("Index/data")技术,仅此而已. 1.在Library\Think\ 目录下直接加入以下代码:Ajaxpage.class.php <?php /** * ajax分页类,有namespace,使用方法: * 控制器直接$ajaxpage = new \Think\Ajaxpag

win7中python3.4下安装scrapy爬虫框架(亲测可用)

貌似最新的scrapy已经支持python3,但是错误挺多的,以下为在win7中的安装步骤: 1.首先需要安装Scrapy的依赖包,包括parsel, w3lib, cryptography, pyOpenSSL,twisted,lxml 其中,twisted和lxml的安装包可以在http://www.lfd.uci.edu/~gohlke/pythonlibs/下载对应的安装包(我的是win64,python34) pip install Twisted-17.1.0-cp34-cp34m-

linux: 几个常用makefile模板

不才,总结个人常用makefile模板,以备后用. 1.编译动态库 [plain] view plain copy ############################################################# # Makefile for shared library. # 编译动态链接库 ############################################################# #set your own environment o

二十八、Linux下Vim工具常用命令

在linux下做开发,甚至是只做管理维护工作,也少不了Vim的使用.作为一个新手,我也是刚刚接触,本节将我日常使用或收集的Vim常用命令记录下来. 当然,直接在命令行上输入:vimtutor,就可以学习到Vim的所有命令了.Vim很强大,很多牛人在vim里集成很多插件什么的,但这里只介绍基本vim命令 移动命令 h "左 j "下 k "上 l "右 w "光标移动到下一个单词的首字符 a word forward b "光标移动到上一个单词的首

Linux下提权常用小命令

有些新手朋友在拿到一个webshell后如果看到服务器是Linux或Unix操作系统的就直接放弃提权,认为Linux或Unix下的提权很难,不是大家能做的,其实Linux下的提权并没有很多人想象的那么难,你真去尝试做了,也许你就会发现Linux下的提权并不难,尤其是一些简单的提权方法是很容易学会的.Linux下的提权我知道的比较简单的方法都是在命令行下完成的,很多新手叉子可能根本没接触过Linux下的一些常用命令,今天危险漫步就给大家介绍一些Linux下提权过程中常用到的Linux命令,由于我也

Linux下mysql的常用操作

Linux下mysql的常用操作: 显示数据库 show databases; 选择数据库 use 数据库名; 显示数据库中的表 show tables; 显示数据表的结构 describe 表名; 显示表中的记录 SELECT * FROM 表名 建库 create databse 库名; 建表 create table 表名 (字段设定列表): mysql> create table name( -> id int auto_increment not null primary key ,

VCL下最好的皮肤控件AlphaControls 9.05 完美支持XE6 亲测可用

在传统的vcl编程中,因自带的控件效果太过普通,为了更好的用户体验和视觉效果往往会使用第三方的一些皮肤控件,这样的皮肤控件百度上一搜一大把,但往往不了解自己不使用过直接下载下来也是没有用的,因为这要涉及到控件版本 ID工具版本 操作系统 等多方因素配合使用,只有实际测试使用过才可定性. 本文提供的一款控件是经过实际测试过的 测试环境:Windows7 32位 ,Delphi xe6, AlphaControls 9.05 下载链接:http://binstyle.7958.com/down_18

Apache+Php配置(亲测可用)

引言: 在软件项目中,Maven提供了一体化的类库管理系统,非常实用.但是,如果新增的类库jar在网络上无法获取到,如何在本地按照Maven的规则添加进来呢?本文将通过一个小例子展示新增过程. 背景介绍: 一个Maven管理的Java项目,提供一个系统级别的POM.xml,其中定义了整个项目使用的类库. 需求: 需要添加一个自定义的类库到当前项目中.假定当前的类库文件名为:abc.jar.. 如何将类库添加进来? 1.  找到当前Maven的Repository类库位置 一般默认情况下,在win