【LINUX编程】Makefile的基本介绍

1.make  &  Makefile 的基本用法:

一个程序由print.cmain.c两个源文件构成,程序的功能是main.c中的main函数调用print.c中定义的print函数。

 

(1)基本的编译链接:

# cc -c main.c                  //编译main.c生成目标文件main.o

# cc -c print.c                //编译print.c生成目标文件print.o

# cc -o exe main.o print.o      //链结main.oprint.o生成可执行文件exe

 

(2)Makefile文件

exe:main.o print.o         //1      //依赖条件

    cc -o exe main.o print.o      //命令      

                                                                                     

main.o:main.c             //2                    

    cc -c main.c                                    

                                                                                     

print.o:print.c            //3                      

    cc -c print.c                                    

                                                                                    

clean:                     //4                       

    rm -f exe *.o                                   

 

1   exe依赖于main.oprint.o,使用"cc -o exe main.o print.o"生成exe

2   main.o依赖于main.c,使用"cc -c main.c"生成main.o

3   print.o依赖于print.c,使用"cc -c print.c"生成print.o

4   clean目标是独立的。可使用 $ make clean 来执行rm删除命令.

!!!注意: makefile的 命令要以TAB开头,依赖条件顶格

 

2. 关于Makefile生成多个无关的可执行文件

make命令不加参数的话只会默认生成第一个标签,所以对于想生成多个彼此无关的可执行文件,可以设置第一个标签为all并关联到要多个目标文件。

例如:

all a.exe b.exe         

a.exe: a.c              

        gcc –o a.exe a.c

b.exe: b.c              

        gcc –o b.exe b.c

(如果不使用all标签的,则make将只生成a.exe,而忽略下一个无关的标签b.exe)

3. 更多

《跟我一起写Makefile》http://www.chinaunix.net/jh/23/408225.html

原文地址:https://www.cnblogs.com/funway/p/1978659.html