标准Makefile模板

典型的Linux C/C++的makefile写法,其它的应用可根据此template修改

(注意每一行的前面若有空格,是tab,不是space)

#Source file(源文件)
SRC = ThreadQueue.cpp
 
#Object file(目标文件)
OBJ = $(SRC:.cpp=.o)
 
#Output execution file(输出的可执行文件)
PROGRAM = ThreadQueue
 
#Compiler(编译器)
CC = gcc/g++

#Include(头文件)
INCLUDE = -I/usr/include/ncurses -I/usr/include/

#Linker Parameter(连接器参数)
LINKPARAM = -lpthread -lncurses

#Options for development(开发选项)
CFLAGS/CXXFLAGS = -ansi -g -Wall

#Options for release(屏蔽选项/预处理参数)
CPPFLAGS = -ansi -O -w


#(最终目标)
all: $(PROGRAM)


#(可执行文件)
$(PROGRAM): $(OBJ)
    $(CC) -o $(PROGRAM) $(LINKPARAM) $(OBJ)

# (定义后缀)
.SUFFIXES : .cpp

# (老式风格的后缀规则)
.cpp.o:
    $(CC) $(INCLUDE) $(CFLAGS) -c $<

# (重载内建隐含规则)
%.o : %.cpp
     $(CC) $(INCLUDE) $(CFLAGS) -c $<
 
# (伪目标)
.PHONY : clean
clean:
    -rm *.o

posted on 2013-10-26 18:00  lingzshen  阅读(339)  评论(0编辑  收藏  举报