DIR_INC = ./include
DIR_SRC = ./src
DIR_OBJ = ./obj
DIR_BIN = ./bin DIR_LIB = -Wl,-rpath=/home/exbot/shareWin/UnityCamera/TestCamera/lib \\
      -L/home/exbot/shareWin/UnityCamera/HKUnifyCamera_one/Debug \\
      -L/home/exbot/shareWin/UnityCamera/hk_one_camera LIBS = -lAudioRender -lHCCore -lhcnetsdk -lhpr -lPlayCtrl -lSuperRender -lcameraInterface -lpthread SRC = $(wildcard ${DIR_SRC}/*.cpp)
OBJ = $(patsubst %.cpp,${DIR_OBJ}/%.o,$(notdir ${SRC})) CC = g++
TARGET = Test
BIN_TARGET=$(DIR_BIN)/$(TARGET)
CFLAGS = -g -Wall -o -I${DIR_INC} ${BIN_TARGET}:${OBJ}
$(CC) $(CFLAGS) $(OBJ) ${DIR_LIB} ${LIBS} -o $@ ${DIR_OBJ}/%.o:${DIR_SRC}/%.cpp
$(CC) $(CFLAGS) -I${DIR_INC} -c $< -o $@ .PHONY:clean clean:
rm -rf ${DIR_OBJ}/*

说明:

-rpath 用于指定程序运行时链接的动态库。如果是相对路径的话,这个相对路径作用与程序运行时的文件路径,而非程序所在文件路径。
-L:  用于程序编译阶段链接的静态库。 $$PWD:  获取当前路径环境变量。
-rpath=$$PWD/../HKUnifyCamera_one/Debug
这个指定动态库路径的方法结合了相对路径和绝对路径方法的两种优点,既可以避免更换环境时需要不停的修改依赖库的路径,又可以避免相对路径定义时只能在特定文件夹下运行程序。
只是需要把程序和所依赖的库按照固定顺序一起移动即可。

makefile通用版本(三)的更多相关文章

  1. makefile通用版本(一)

    实际当中程序文件比较大,这时候对文件进行分类,分为头文件.源文件.目标文件.可执行文件.也就是说通常将文件按照文件类型放在不同的目录当中,这个时候的Makefile需要统一管理这些文件,将生产的目标文 ...

  2. [Cocos2d-x]Android的android.mk文件通用版本

    原文地址: http://blog.ready4go.com/blog/2013/10/12/update-android-dot-mk-with-local-src-files-and-local- ...

  3. Kubernetes 1.14发布:对Windows节点的生产级支持、Kubectl更新与持久本地卷通用版本已全面到来

    今天,我们高兴地宣布Kubernetes 1.14版本的正式亮相,这亦是我们在2019年当中进行的首次发布!Kubernetes 1.14版本由31项增强功能组成,具体包括:10项稳定版功能,12项b ...

  4. InstallShield集成安装MSDE2000最小版本(三) fishout特许授权发布

    原文:InstallShield集成安装MSDE2000最小版本(三) fishout特许授权发布 原帖地址:http://blog.csdn.net/fishout/archive/2009/11/ ...

  5. Google之Chromium浏览器源码学习——base公共通用库(三)

    本节将介绍base公共通用库中的containers,其包含堆栈.列表.集合.以及Most Recently Used cache(最近使用缓存模板). linked_list.h:一个简单的列表类型 ...

  6. Makefile 一点一滴(三)—— 尝试简单的变量替换

    上一版的 makefile: TestCpp : ./debug/TestCpp.o g++ -o TestCpp ./debug/TestCpp.o ./debug/TestCpp.o : ./sr ...

  7. Makefile学习(三)执行make

    9 执行make 一般方法:make. 某些情况:1.可能需要使用make更新一部分过时文件而不是全部 2.需要使用另外的编译器或者重新定义编译选项 3.只需要查看哪些文件被修改,不需要重新编译 所以 ...

  8. hive表增量抽取到mysql(关系数据库)的通用程序(三)

    hive表增量抽取到oracle数据库的通用程序(一) hive表增量抽取到oracle数据库的通用程序(二) 这几天又用到了该功能了,所以又改进了一版,增加了全量抽取和批量抽取两个参数.并且可以设置 ...

  9. UML的通用机制(三)

     Common Divisions In modeling object-oriented systems, the world often gets divided in several way ...

随机推荐

  1. JavaIO学习:字符流

    JavaIO流之字符流 字符流 Reader InputStreamReader FileReader:专门用于处理文件的字符读取流对象. Writer OutputStreamWriter File ...

  2. vue通过Blob实现下载文件

    需求是这样的...... 具体实现,前端拿到后端返回回来的数据,然后通过Blob实现下载,文件内容样式啥的都是后端写的 script代码: 这里的data就是后端返回回来的数据,此方法兼容IE dow ...

  3. sigaction信号处理

    1. sigaction int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact); signu ...

  4. oracle查看表空间的真实使用情况

    --查看表空间的真实使用情况 set linesize 500 pagesize 500 col tablespace_name format a25 col TP_REAL_GB format a1 ...

  5. java随机数获取

    /**Number One: * 随机数获取公式:(数据类型)(最小值+Math.random()*(最大值-最小值+1)) * 随机数获取公式:(类型)最小值+Math.random()*最大值 * ...

  6. centos7 下 yum 安装Nginx

    centos7 下 yum 安装和配置 Nginx 添加yum源 Nginx不在默认的yum源中,可以使用epel或者官网的yum源,这里使用官网的yum源 rpm -ivh http://nginx ...

  7. Nginx 核心配置-根目录root指令与别名alias指令实战案例

    Nginx 核心配置-根目录root指令与别名alias指令实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.试验环境说明 1>.虚拟机环境说明 [root@nod ...

  8. node中glob模块总结

    参考文章:   githup_glob    node-glob学习 前言: 最近在学习webpack配置, 其中有一项glob配置入口文件, 来获取对应的文件名, 达到入口entry和output文 ...

  9. nbu虚拟机恢复样例(之后补图)

    9.2.1进入Backup,Archive,and Restore管理器 9.2.2选择客户端和策略类型 9.2.3选择恢复的虚拟机 9.2.4恢复虚拟机到不同目录 9.2.5更改虚拟机名称和存储 因 ...

  10. computer networking ---------DNS

    [DNS]domain named system 域名解析系统,即相当于对www.baidu.com的类似的域名进行解析,对于人而言,记忆一些域名相比于记忆一些Ip地址来说简单的多,而对于计算机而言, ...