Makefile基础知识(学习笔记)

    科技2022-07-21  96

    Make简介  —— 工程管理器,顾名思义,是指管理较多的文件  —— Make工程管理器也就是个“自动编译管理器”,这里的“自动”是指它  能够根据文件时间戳自动发现更新过的文件而减少编译的工作量,同  时,它通过读入的Makefile文件的内容来执行大量的编译工作。  —— Make将只编译改动的代码文件,而不用完全编译。    Makefile基本结构  —— Makefile是Make读入的唯一配置文件     —— 由make工具创建的目标体(target),通常是目标文件或执行文件     —— 要创建的目标体所依赖的文件(dependency_file)     —— 创建每个目标体时需要运行的命令(command)     —— 注意:命令行前面必须是一个"TAB键",否则会编译错误          Makefile格式         target: dependency_file             command     例:         hello.o: hello.c hello.h             gcc -c hello.c -o hello.o       make命令  —— make命令格式         make [options] [target]          选项    含义     -C        dir读入指定目录下的Makefile     -f        file读入当前目录下的file文件作为Makefile     -i        忽略所有的命令执行错误     -I        dir指定被包含的Makefile所在目录     -n        只打印要执行的命令,但不执行这些命令     -p        显示make变量数据库和隐含规则     -s        在执行命令时不显示命令     -w        如果make在执行过程中改变目录,打印当前目录名       Makefile的隐含规则  —— 隐含规则1:编译C程序的隐含规则     "<n>.o"的目标的依赖目标会自动推导为"<n>.c",并且其生成的命令     是"$(CC) -c $(CPPFLAGS) $(CFLAGS)"  —— 隐含规则2:链接Object文件的隐含规则     "<n>"目标依赖"<n>.o",通过运行C的编译器来运行链接程序生成(     一般是"ld"),其生成命令是:"$(CC) $(LDFLAGS) <n>.o"               

    Processed: 0.010, SQL: 8