makefile
laogaoAV
一代学者
展开
-
makefile里的几个常用特珠变量
$@,表示规则中的目标。$,表示规则中的第一个条件。$?,表示规则中所有比目标新的条件,组成一个列表,以空格分隔。$^,表示规则中的所有条件,组成一个列表,以空格分隔。原创 2013-01-16 18:09:00 · 754 阅读 · 0 评论 -
自动处理头文件的依赖关系
现在我们的Makefile写成这样:all: mainmain: main.o stack.o maze.o gcc $^ -o $@main.o: main.h stack.h maze.hstack.o: stack.h main.hmaze.o: maze.h main.hclean: -rm main *.o.PHONY: clean按照惯例,用all做缺省转载 2013-01-16 18:44:20 · 891 阅读 · 0 评论 -
make里的wildcard和patsubst
在 GNU Make 里有一个叫 'wildcard' 的函 数,它有一个参数,功能是展开成一列所有符合由其参数描述的文 件名,文件间以空格间隔。你可以像下面所示使用这个命令:SOURCES = $(wildcard *.c)这行会产生一个所有以 '.c' 结尾的文件的列表,然后存入变量 SOURCES 里。当然你不需要一定要把结果存入一个变量。另一个有用的函数是 pats转载 2013-01-17 16:52:48 · 4020 阅读 · 0 评论 -
关于make里的.SECONDARY
The targets which .SECONDARY depends on are treated as intermediate files, except that they are never automatically deleted. See Chains of Implicit Rules..SECONDARY with no prerequisites causes al原创 2013-01-17 17:14:22 · 856 阅读 · 0 评论 -
MakeFIle $@,$^,$<
Makefile $@, $^, $$@ 表示目标文件$^ 表示所有的依赖文件$$? 表示比目标还要新的依赖文件列表如一个目录下有如下文件:$ lshello.c hi.c main.c Makefile按照 Makefile 规则规规矩矩的写:main: main.o hello.o hi.o gcc转载 2013-01-19 16:03:24 · 5378 阅读 · 0 评论 -
转:使用autotools生成Makefile文件(ubuntu 8.04)
对于一个较大的项目而言,完全手动建立 Makefile是一件费力而又容易出错的工作。autotools系列工具只需用户输入简单的目标文件、依赖文件、文件目录等就可以比较轻松地生成 Makefile了。现在Linux上的软件开发一般都是用autotools来制作Makefile。autotools工具主要有:aclocal、autoscan、autoconf、autoheader、autom转载 2013-05-15 19:51:54 · 624 阅读 · 0 评论