makefile
make命令选项及参数常用的3个选项 -k: make命令发现错误时继续执行,这个选项操作可以一次发现所有未编译成功的源文件。 -n: make命令输出将要执行的操作步骤,而不是真正执行这些操作。 -f<filename>: 告诉make命令将哪个文件作为Makefile文件,未使用此选项情况下,标准版make命令会在当前目录下先寻找makefile,如果没有继续寻找Makefile文件。如果是Linux系统下,使用的可能是GNUMake,这个版本,它将首先查找GNUmakefile文件。 依赖关系规则写法:先写目标名称,然后紧跟冒号,接着空格或制表符tab,最后是隔开的文件列表(这些文件用于创建目标文件)。 Myapp: main.o test.o main.o: main.c main.h test.o: test.c test.h 规则makefile文件中空格和tab是有区别的。规则所在行必须以tab开头,用空格是不行的,Makefile文件中某行以空格结尾,也可能导致make命令执行失败。 ? 规则都包含一个简单的命令,该命令也可以在命令行上执行 Myapp: main.o test.o ?????? gcc -o Myapp main.o test.o main.o: main.c main.h ?????? gcc -c main.c test.o: test.c test.h ?????? gcc -c test.c ? 注释Makefile中注释以#号开头 宏MACRONNAME=value 定义宏 $( MACRONNAME) 调用宏 CC = gcc CXX = g++ Myapp: main.o test.o ?????? $( CC) -o Myapp main.o test.o main.o: main.c main.h ?????? $( CC) -c main.c test.o: test.c test.h ?????? $( CC) -c test.c ? make命令时给出宏定义 make “CC = gcc” make内置特殊的宏定义 $? 当前目标所依赖的文件列表中比当前目标文件还要新的文件 [email?protected] 当前目标的名字 $< 当前依赖文件的名字 $*? 不包括后缀名的当前依赖文件的名字 ? 多个目标(未完待续) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |