万能makefile模板

这里一份万能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 [email protected] $(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)
时间: 2024-08-06 23:23:39

万能makefile模板的相关文章

linux下面简单通用的Makefile模板

简单通用的Makefile模板: ############################################## # # 单目录通用Makefile # 目标文件可自己的设定 # 始须调试程序,修改 CFLAGS 变量为-Wall -g # # wuyq 20140825 ############################################## # EXECUTABLE为目标的可执行文件名, 可以根据具体的情况对其进行修改. EXECUTABLE := spi

makefile编写---.c .cpp 混合编译makefile 模板

# c.cpp混合编译的makefile模板 # # BIN = client_system BASE_INSTALL_DIR := /opt/arm-2009q1 BUILD_TOOL_DIR := $(BASE_INSTALL_DIR) BUILD_TOOL_PREFIX := $(BUILD_TOOL_DIR)/bin/arm-none-linux-gnueabi- CC = $(BUILD_TOOL_PREFIX)gccCPP = $(BUILD_TOOL_PREFIX)g++ INCS

Vim编程下自创Makefile模板

前言 一直都对Linux和Vim情有独钟,其实windows也很不错,因为工作上难免有些情况只能使用windows进行开发,包括有些API或者SDK都只有windows版本,只是用Linux的时候就感觉和计算机特别亲近的感觉,哈哈哈,夸张而言. 至于Vim(这里暂且不讨论vim和emacs谁更好的问题,这个是哲学问题),对比起大多数人估计都习惯使用IDE进行编程,使用vim确实难度会大很多,所以,如果不是专业的开发人员,其实也没有必要使用vim编程,不过有时候想,如果当年大学的编程课教的不是使用

我所使用的一个通用的Makefile模板

话不多说,请看: 我的项目有的目录结构有: dirls/ ├── include │   └── apue.h ├── lib │   ├── error.c │   ├── error.o │   └── Makefile ├── src │   ├── dirls.c │   ├── dirls.out │   └── Makefile └── test_client 而我的Makefile模板代码如下: SRCS = $(wildcard *.c ../lib/*.c) #wildcard

一个简单的makefile模板

在Linux下编译工程,makefile是必不可少的工具,下面记录一个简单的makefile模板. 多个文件目录下的makefile写法推荐参考博文:http://www.cnblogs.com/Anker/p/3242207.html DIR_SRC = ./ DIR_BIN = ../bin PROGRAMNAME = program TARGET = ${DIR_BIN}/${PROGRAMNAME} SRC = $(wildcard ${DIR_SRC}/*.cpp) CC = g++

linux: 几个常用makefile模板

不才,总结个人常用makefile模板,以备后用. 1.编译动态库 [plain] view plain copy ############################################################# # Makefile for shared library. # 编译动态链接库 ############################################################# #set your own environment o

makefile模板

1.简单的makefile模板 ############################################################# # Target files. ############################################################# TARGET := ############################################################# # Compiler tool ######

Linux工程下所有C代码编译Makefile模板

如何快速的开发简易C程序,首先需要一个Makefile模板. 简易Makefile特性 这个模板需要具备以下特性: ==>快速编译所有C代码 ==>能够快速打包源代码 ==>语言简洁易懂,便于后续的模块化操作 这里提供一个这样的模板供大家参考使用,如有改进方法和建议,也请不吝赐教,以便完善,谢谢! 简易Makefile模板 废话不说,使用<Linux下C/C++版本发布自动脚本>集成DEMO的三个文件进行简单的示例(version.c/main.c/version.h). M

kbuild的makefile模板

Makefile模板如下: #编译hello.o的时候加上预定义DEBUG_TEST CFLAGS_hello.o += -DDEBUG_TEST #编译所有的时候加上预定义MY_DEBUG EXTRA_CFLAGS += -DMY_DEBUG #指定最终生成的目标 #如果只有单个文件可以写成"obj-m := hello.o" obj-m += hello.o #指定生成hello.o文件需要哪些模块(如果只有单个文件可以删除下面这一行), #如果hello.o需要多文件构成则可以写