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基本命令.前端开发技术 ...
随机推荐
- SQL Server - SQL Server/ bcp 工具如何通信
问题-BCP通讯 ref: https://stackoverflow.com/questions/40664708/bcp-cannot-connect-to-aws-sql-server-but- ...
- lombok使用手册
lombok使用手册: 1.安装插件 1.1.idel: 1.2.使用lombok还需要引用相关jar包 参考网址:https://projectlombok.org/features/all 2.注 ...
- 驱动层hook系统函数的时,如何屏蔽掉只读属性?
对于Intel 80486或以上的CPU,CR0的位16是写保护(Write Proctect)标志.当设置该标志时,处理器会禁止超级用户程序(例如特权级0的程序)向只读页面执行写操作:当该位复位时则 ...
- System.Web.Mvc.Filters.IAuthenticationFilter.cs
ylbtech-System.Web.Mvc.Filters.IAuthenticationFilter.cs 1.程序集 System.Web.Mvc, Version=5.2.3.0, Cultu ...
- PAT甲级——A1131 Subway Map【30】
In the big cities, the subway systems always look so complex to the visitors. To give you some sense ...
- PAT甲级——A1122 Hamiltonian Cycle【25】
The "Hamilton cycle problem" is to find a simple cycle that contains every vertex in a gra ...
- appium基础一:连接手机和appium-desktop定位元素
一.获取手机信息 adb devices获取手机或模拟器的设备名 aapt dump badging xxxx.apk获取app的包名.入口等基本信息 如果想要知道手机原生携带的app的基本信息,首先 ...
- <selenium>selenium基础操作
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.c ...
- C# SQL 多条件查询技巧
#region 多条件搜索时,使用List集合来拼接条件(拼接Sql) StringBuilder sql = new StringBuilder("select * from PhoneN ...
- 面试系列 31 zk都有哪些使用场景
大致来说,zk的使用场景如下,我就举几个简单的,大家能说几个就好了: (1)分布式协调:这个其实是zk很经典的一个用法,简单来说,就好比,你A系统发送个请求到mq,然后B消息消费之后处理了.那A系统如 ...