【linux】——Linux下简单makefile文件的编写

时间:2021-12-23 09:25:30

今天学习了linux环境下C语言编程中makefile的编写。这只是一个简单的例子:

假设在一个practice目录下有如下文件:main.c  hello1.c   hello2.c   hello1.h   hello2.h  几个程序文件,要将他们编译连接,最好的方法就是写一个makefile文件,并用make命令执行。make是一个解释makefile文件中的指令的命令工具。当makefile文件一旦写好,只需要一个make命令,就可以自动编译整个工程,极大的提高了软件开发的效率。这个例子的makefile文件如下:

main:main.o   hello1.o   hello2.o

            gcc  -o main  main.o   hello1.o   hello2.o(前面有一个tab键)

main.0: main.c  hello1.h    hello2.h

            gcc -c  main.c

hello1.o: hello1.c   hello1.h

            gcc -c   hello1.c

hello2.o: hello2.c   hello2.h

            gcc  -c   hello2.c

clean:

             rm  main   main.o   hello1.o   hello2.o

这时候,只需要一个make命令,就可以生成最终结果:可执行文件main

注意:

1.当要重新生成目标代码时,可以用“make  clean”命令.

2.两外一种更稳健的clean的写法是:

.PHONY    :  clean

              clean:

                                -rm   main   main.o   hello1.o   hello2.o

3.也可以将几个需要的目标文件以变量的形式写出,即:

在makefile文件的最开始写到:objects = main   main.o   hello1.o  hello2.c。其他地方就用"$(objects)来代替即可!