码迷,mamicode.com
首页 > 其他好文 > 详细

万能makefile模板

时间:2017-06-12 11:49:28      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:fine   car   file   clean   模板   目标   div   ram   管理工具   

这里一份万能makefile模板,写opencv项目时候使用的。

前提是提前配置好 包管理工具 pkg 然后就不用每次都去 -lopencv_xxx了。

######################################
#
######################################
#source file
#源文件,自动找所有.c和.cpp文件,并将目标定义为同名.o文件
SOURCE  := $(wildcard *.c) $(wildcard *.cpp)
OBJS    := $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SOURCE)))

#target you can change test to what you want
#目标文件名,输入任意你想要的执行文件名
TARGET  := gpu-basics-similarity

#compile and lib parameter
#编译参数 := equals =
CC      := g++
LIBS    := -L/usr/local/lib
#LDFLAGS := -lopencv_imgcodecs -lopencv_highgui -lopencv_xfeatures2d -lopencv_features2d -lopencv_core -lopencv_flann -lopencv_calib3d -lopencv_imgproc
LDFLAGS :=`pkg-config --libs opencv`
DEFINES :=
INCLUDE := -I. -I/usr/local/include
CFLAGS  := -g -Wall -O3 $(DEFINES) $(INCLUDE) # CFLAGS 表示用于 C 编译器的选项
#CXXFLAGS:= $(CFLAGS) -DHAVE_CONFIG_H # C++ 编译器的选项
CXXFLAGS := -g -std=c++11 -Wall $(INCLUDE)
$(TARGET):$(OBJS)
    $(CC) -o $@ $(OBJS) $(LIBS) $(LDFLAGS) $(CXXFLAGS)

#下面的基本上不需要做任何改动了
.PHONY : everything objs clean veryclean rebuild

everything : $(TARGET)

all : $(TARGET)

objs : $(OBJS)

rebuild: veryclean everything
# 换行的开始必须是1个tab
clean :
    rm -fr *.so
    rm -fr *.o

veryclean : clean
    rm -fr $(TARGET)

 

万能makefile模板

标签:fine   car   file   clean   模板   目标   div   ram   管理工具   

原文地址:http://www.cnblogs.com/luntai/p/6991905.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!