• 万能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 $@ $(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)
  • 相关阅读:
    来自lombok的注解(解决idea中的找不到get,set方法,找不到log的问题)
    IDL语言开发规范
    神经网络训练时出现nan错误
    Hadoop WordCount程序
    Hadoop2.4.1伪分布式安装
    Hadoop简介
    linux 安装tensorflow(gpu版本)
    高级映射,查询缓存和与spring整合
    用mybatis实现dao的编写或者实现mapper代理
    mybatis介绍与环境搭建
  • 原文地址:https://www.cnblogs.com/luntai/p/6991905.html
Copyright © 2020-2023  润新知