makefile简单模板

#TARGET 为目标的可执行文件,可根据具体情况修改

TARGET := test.out

#修改隐含规则中的宏

CC := g++

#gcc的编译选项

CFLAGS := -Wall -O2

#g++的编译选项

CXXFLAGS := -Wall -O2

 

LDFLAGS += -lpthread

#列出工作目录下所有的文件

SOURCE := $(wildcard *.c)

 

#调用patsubst函数,生成与源文件对应的".o"文件列表

OBJS := $(patsubst %.c,%.o,$(SOURCE))

#

all: $(TARGET)

$(TARGET): $(OBJS)

  @$CC $(CXXFLAGS) $(LDFLAGS) $(OBJS) -o $(TARGET)

 

 

#删除的固定操作

.PHONY:clean

clean:

  @rm -f $(TARGET) $(OBJS) *.o

 

g++使用注意项

用于链接库的 -l 选项必须放在 g++ 选项后面,如:

g++ -o ./tmpExec/pthread pthread.cpp -lpthread 
    #这个是正确的 
g++ -lpthread -o ./tmpExec/pthread pthead.cpp #出错
posted @ 2016-07-12 11:51  叫我二当家  阅读(83)  评论(0)    收藏  举报