操做系统make命令与Makefile文件编写

操做系统make命令及Makefile文件

更深层次地理解请看文章:Linux下编写 makefile 详细教程https://www.cnblogs.com/mfryf/p/3305778.html

gcc

  语法:gcc (选项) (参数) 选项: -o:指定生成的输出文件; -S:将C代码转换为汇编代码; -wall:显示警告信息; -c:仅执行编译操做,不进行链接操做; -M:列出依赖。 参数: C源文件:指定C语言源代码文件。html

  同时编译多个文件时,咱们只需把多个文件名用空格隔开便可,如 gcc test1.c test2.c -o test .工具

  将testfun.c编译成testfun.o gcc -c testfun.c 将test.c编译成test.o gcc -c test.c 将testfun.o和test.o连接成test gcc testfun.o test.o -o testpost

1 gcc test1.c -c test #对.c文件只进行编译,生成.o文件
2 gcc test.o test1.o -o test1 #将两个.o文件进行连接

 

 1 CC = gcc
 2 #生成的可执行文件名
 3 EXE = main
 4 #源文件路径 空格 能够继续添如 src src1 src2
 5 SUBDIR = src
 6 #.o文件存放路径
 7 OBJ = obj
 8 #.d文件存放路径
 9 DEP = dep
10  
11 #预处理选项(要包含的.h文件的路径)
12 CPPFLAGS += -I /home/kouwq/Makefile/grokking_algorithms/inc

 

Makefile文件

  咱们可使用make指令执行Makefile文件里的内容。make 工具会读取 Makefile 文件,并根据 Makefile 的内容来执行相应的编译操做。Makefile 相似于你们之前接触过的 VC 工程文件。只不过不像 VC 那样有图形界面,而是直接用相似脚本的方式实现的。ui

  

 1 若是咱们没有 Makefile,直接动手编译这个程序,咱们须要下面这样一个指令
 3 # 直接使用 gcc 编译 Hello World 程序
 4 $ gcc -o hello_world hello_world.c
 5 那么,若是咱们想把它写成 Makefile,咱们应该怎么办呢?makefile 最基本的格式是这样的
 7 target: dependencies
 8 command 1
 9 command 2
10 ...
11 command n
12 其中,target 是咱们构建 (Build) 的目标,而 dependencies 是构建该目标所需的其它文件或其余目标。以后是构建出该目标所需执行的指令。有一点尤其须要注意:每一
个指令 (command) 以前必须有一个 TAB。这里必须使用 TAB 而不能是空格,不然make 会报错。
咱们的简易的 Makefile 能够写成以下的样子,以后执行 make 便可产生 hello_world这个可执行文件。

all: hello_world.c
  gcc -o hello_world hello_worldurl

相关文章
相关标签/搜索