Linux下编程(编译)

http://blog.csdn.net/liang13664759/article/details/1771246

设置环境变量:

export LD_LIBRARY_PATH=/home/yxhuang3/key_input/out/xrelease

 

mekfile相关

一般规则:

target ... : prerequisites ...
command...

目标文件...:依赖文件...

命令...

make将第一个目标文件(target),作为最终的目标文件。

 

执行动作

动作名,其冒号后什么也没有。make不会自动执行该动作

.PHONY :clean :
rm edit main.o kbd.o command.o display.o /
insert.o search.o files.o utils.o

一般放在makefile文件最后。make clean

我们可以在一个makefile中定义与编译无关的命令,比如程序的打包,程序的备份,等等。

“.PHONY”表示伪目标文件。

 

注释

只有行注释,用“#”字符

 

include:

使用include关键字可以把别的Makefile包含进来

include filename

filename可以保含路径和通配符

make命令开始时,会把找寻include所指出的其它Makefile,并把其内容安置在当前的位置。


clean :
rm edit main.o kbd.o command.o display.o /
insert.o search.o files.o utils.o

变量:

变量一般都是字符串

objects = main.o kbd.o command.o display.o /
insert.o search.o files.o utils.o

以“$(objects)”的方式来使用这个变量。/表示连接符

“:=”操作符   变量赋值

“+=”操作符  给变量追加值

如果变量之前没有定义过,那么,“+=”会自动变成“=”,如果前面有变量定义,那么“+=”会继承于前次操作的赋值符。如果前一次的是“:=”,那么“+=”会以“:=”作为其赋值符。

 

执行步骤:

1、读入所有的Makefile。
2、读入被include的其它Makefile。
3、初始化文件中的变量。
4、推导隐晦规则,并分析所有规则。
5、为所有的目标文件创建依赖关系链。
6、根据依赖关系,决定哪些目标要重新生成。
7、执行生成命令。

 

通配符:

“~/test”,这就表示当前用户的$HOME目录下的test目录

“*.c”表示所以后缀为c的文件

 

文件搜寻:

VPATH = src:../headers

make会在当前的目录中和特殊变量“VPATH”所指定的目录中找寻依赖文件和目标文件。目录由“冒号”分隔

 

通常,make会把其要执行的命令行在命令执行前输出到屏幕上。当我们用“@”字符在命令行前,那么,这个命令将不被make显示出来

@echo 正在编译XXX模块......

略命令的出错,我们可以在Makefile的命令行前加一个减号“-”

 

定义命令包:

如果Makefile中出现一些相同命令序列,那么我们可以为这些相同的命令序列定义一个变量。定义这种命令序列的语法以“define”开始,以“endef”结束,如:

define run-yacc
yacc $(firstword $^)
mv y.tab.c $@
endef

这里,“run-yacc”是这个命令包的名字,其不要和Makefile中的变量重名。在“define”和“endef”之间的就是命令序列。

 

CURDIR是makefile的内嵌变量,显示当前路径

MAKECMDGOALS  环境变量  表示make命令行中所有终极目标

make指定了“-e”参数,则系统环境变量将覆盖Makefile中定义的变量

 

echo -n 不换行输出

echo -e 处理特殊字符
若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
用echo命令打印带有色彩的文字:

文字色:

echo -e "\e[1;31mThis is red text\e[0m"
This is red text
  • \e[1;31m 将颜色设置为红色
  • \e[0m 将颜色重新置回

颜色码:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37

背景色

echo -e "\e[1;42mGreed Background\e[0m"
Greed Background

颜色码:重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,洋红=45,青色=46,白色=47

 

$(MAKE)   一般表示make

make -C directory all    -C表示先进入目录directory,再执行all

 

 

待续

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值