Makefile知识点
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
Makefile知识点的更多相关文章
- makefile知识点归纳的
以一个样例開始,文件文件夹结构例如以下 ---------(当前文件夹)-----------main.c | |------- ...
- Makefile知识点总结
1.=,:=,+=区别 = 是最基本的赋值 := 是覆盖之前的值 ?= 是如果没有被赋值过就赋予等号后面的值 += 是添加等号后面的值 .“=” make会将整个makefile展开后,再决定变量的值 ...
- Makefile 知识点
$@ $@ is the name of the target. $? The $? macro stores the list of dependents more recent than the ...
- 剑指Offer——知识点储备--Linux基本命令+Makefile
剑指Offer--知识点储备–Linux基本命令 1.linux下查看进程占用cpu的情况(top): 格式 top [-] [d delay] [q] [c] [S] [s] [i] [n] 主要参 ...
- makefile文件知识点记录
1赋值 = 是最基本的赋值:= 是覆盖之前的值?= 是如果没有被赋值 += 是添加等号后面的值 1.“=” make会将整个makefile展开后,再决定变量的值.也就是说,变量的值将会是整个make ...
- Makefile常用知识点
格式 目标:最终要去生成的文件, 定格写,后面是冒号(冒号后面是依赖) 依赖:用来生成目标的源材料 命令:加工的方法,命令前面一定是Tab, make的过程就是使用命令将依赖加工成目标的过程 工作原理 ...
- Makefile 赋值 函数定义 等小知识点
1.赋值 == 到用的时候实际才去赋值:= 立刻赋值?= 未赋值才赋值+= 2.多层变量 多层变量引用(各种复杂组合...)a =bb= cc= dd =1$($($($(a)))) 最终等于1 3. ...
- makefile小例子
makefile的知识点应该很多,看网上的很多教程就能看出来,长的可以写一本书.记录一下自己用的一个简单的makefile, 方便以后查找. 先看一下程序的目录结构: [root@localhost ...
- php高级面试题知识点(转载)
php高级面试题知识点大全 时间:2016-01-26 06:36:22来源:网络 导读:php高级面试题知识点大全,本套面试题内容包括php魔术方法.php单点登录.linux基本命令.前端开发技术 ...
随机推荐
- java中的break continue
break语句 在任何循环语句的主体部分,均可用break控制循环的流程.break用于强行退出循环,不执行循环中剩余的语句.(break语句也在switch语句中使用) public class B ...
- Windows tasklist
TASKLIST [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI filter] [/ ...
- MySQL架构和索引
MySQL架构 逻辑架构图: 大概分为四层,这个见仁见义,有不同的分法: 第一层Connectors:处理不同语言与SQL的交互 第二层Connection Pool :连接池,管理缓存用户连接,线程 ...
- C++Builder常用函数
BCB函数集 1.内存分配 函数名称 AllocMem 函数说明 在队中分配指定字节的内存块,并将分配的每一个字节初始化为 0.函数原型如下: void * __fastcall AllocM ...
- duilib教程之duilib入门简明教程11.部分bug
一.WindowImplBase的bug 在第8个教程[2013 duilib入门简明教程 -- 完整的自绘标题栏(8)]中,可以发现窗口最大化之后有两个问题, 1.最大化按钮的样式还是没 ...
- LUOGU P4394 [BOI2008]Elect 选举 (背包)
传送门 解题思路 一眼看上去就像个背包,然后就是\(0/1\)背包改一改,结果发现过不了样例.后来想了一下发现要按\(a\)从大到小排序,因为如果对于一个>=总和的一半但不满足的情况来说,把最小 ...
- [ZJOI 2018]历史
题意:给定一棵树和点的\(Access\)次数,求切换链的最大值. 考虑修改时实边与虚边的贡献,用\(LCT\)维护此树. // luogu-judger-enable-o2 #include< ...
- LTE基本架构
1.LTE结构 这是一张非常有名的LTE架构图,从图中可以看出,整个网络构架被分为了四个部分: (1)UE就可以看作是我们的手机终端 (2)PDN可以看作是网络上的服务器 (3)E-UTRAN可以看 ...
- 《DSP using MATLAB》Problem 8.40
代码: function [wpLP, wsLP, alpha] = bs2lpfre(wpbs, wsbs) % Band-edge frequency conversion from bandst ...
- IDEA 安装lombok及使用
1.File-Settings-Plugins-Brows Repositories-输入lombok-install 2.重启idea 3.添加maven依赖 <dependency> ...