Makefile常用模板+解释

       最近在做项目时发现Makefile非常重要,因为一个好的Makefile会让你的编译工作变得很流畅,好了,今天改了一下比较出名的网上的Makefile模板,现在把它贴出来,供各位刚刚入手的网友们借鉴借鉴。

说明:Makefile里面用“#”来屏蔽,相当于C里面的"//"。凡是有空格的地方一定要记得那个是tab键,是Makefile里面专门用于写命令固定的格式。知道这个了以后,现在我先说一下我的工程里面放了一个video_capture.c    video_capture.h   a.c  a.h    。我用的是全志A20,也就是CT开发板,里面跑的是基于ubantu的Linux系统,内核版本忘掉了,我用VIM编写的代码,用gcc编译。

#Source file                                #源文件名称,记得哦,这个中文注释在Makefile里面是不显示出来的,不要直接复制我的这个代码哦。
SRC = video_capture.c a.c       #相当于定义一SRC变量,它的值 video_capture.c a.c以后想用源文件的话,直接$(SRC)即可。          
#Object file                                  #目标文件
OBJ = $(SRC:.c=.o)                   #SRC:.c=.o   这个的意思是将SRC下的.c文件转化成.o文件,也就是定义了输出文件。
                                                   #如果你是用c++编写的话,就写成SRC:.cpp= .o就行了
#Output execution file                 #可执行文件
PROGRAM = lss                         #编译成功后,只需./lss就可以执行你的程序
#compiler                                    #定义编译器,这里用的事gcc,如果你是c++编写的,就用g++,如果不懂gcc和g++的区别你可以百度
cc = gcc      
#Link Parameter                        #加入一些链接文件
LINKPARAM = -Iopencv-core -lopencv-imgproc\  

all: $(PROGRAM)                     #也就是all: lss   
$(PROGRAM): $(OBJ)            # 也就是    目标:依赖         
$(cc) -o $(PROGRAM)  $(LINKPARAM) $(OBJ)                #这一行是命令,这样这里用的是tab键哦
clean:
rm *.o


你可能感兴趣的:(makefile)