码迷,mamicode.com
首页 > 其他好文 > 详细

makefile基础_1

时间:2020-02-24 00:45:36      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:基础   file   header   系统   miss   mis   手顺   前缀   libtool   

?wildcard: 搜索当前目录下所有的.c文件。
?addprefix $(TEST_DIR)/,$(TEST)) //给$(TEST)加前缀路径
?$@: 目标变量。
$^: 目标依赖

?.PONHY: clean :伪目标,会被无条件执行。

?自动产生依赖:Gcc –M命 令生成该文件要依赖的文件。
Gcc –MM命 令生成该文件要依赖的文件,不显示系统库文件。

?make并发执行命令:make -j3 #同时开启3个进程去编译
makefile中的每个命令,都会开启一个新的进程去执行;
如果多条命令相关,要在一个进程中完成,则命令结尾追加:[; \] #中括号中的; 

?:= 立即展开变量,一般在目标和目标依赖中使用立即展开变量。
= 延迟展开变量,一般在命令中使用延迟展开变量。

?生成静态库文件

方式1:
1,只编译不链接。
gcc -o hello.o -c hello.c
2,生成libhello.a
ar rcs libhello.a hello.o
3,使用方法-编译时使用
假设main.c中使用hello函数。
则编译方法:gcc -o test main.c -L./ -lhelo #-L : 指定引用库的所在路径; -l:指定库名
--------
方式2:
1,也可以通过makefile文件生成库。
2,makefile中也可以使用库。

?生成动态库文件(.so文件)


?自动化编译手顺:
1. aclocal
2. libtoolize --force
3. autoconf
4. autoheader
5. automake --add-missing
6. ./configure
7. make
8. make install

makefile基础_1

标签:基础   file   header   系统   miss   mis   手顺   前缀   libtool   

原文地址:https://www.cnblogs.com/mountain2011/p/12354934.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!