多个目录Makefile编写模板

Makefile文件的编写 文章目录前言一、最简单的 Makefile 文件举例二、使用步骤1.引入库2.读入数据总结欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 前言 Makefile文件的编写规则及内容 一、最. 阅读详情

参考了一个多目录下的Makefile的编写,但是有几处错误没法测试,这里作了改正,写了一模板,用了三个文件file1.h,file2.h,file3.h,test.c作测试。

1.   目录结构maketest下的子目录

bin:存放生成的文件

include:存放头文件(这里放入file1.h,file2.h,file3.h)

libs:存放引用的库

src:存放源文件(这里放入file1.c,file2.c,file3.c,test.c)

其中的Makefile文件如下

TOPDIR :=$(shell if [ "$$PWD" != "" ];then echo $$PWD;else pwd;fi)

export TOPDIR

LIBPATH:= $(TOPDIR)/libs

export LIBPATH

SUBDIRS =src

CPLUS_INCLUDE_PATH = $CPLUS_INCLUDE_PATH:$(TOPDIR)/include
export CPLUS_INCLUDE_PATH 

.PHONY:$(SUBDIRS)

all:depend$(SUBDIRS)

dependdep:

@for dir in $(SUBDIRS);do $(MAKE) -C $$dir.depend;done

$(SUBDIRS):

$(MAKE) -C $@ all

clean:

   @for dir in $(SUBDIRS);do $(MAKE) -C $$dirclean;done

2.      src目录下的Makefile如下

SUBDIRS =ebook

.PHONY:$(SUBDIRS) clean

all:.depend$(SUBDIRS)

$(SUBDIRS):

$(MAKE) -C $@ all

.dependdep:

@for dir in $(SUBDIRS);do $(MAKE) -C $$dir.depend;done

clean:

   @for dir in $(SUBDIRS);do $(MAKE) -C $$dirclean;done

3.      ebook目录下的Makefile文件如下

INCLUDEDIRS+= -I/usr/include -I$(TOPDIR)/include

 

CC             = gcc

CFLAGS     = -O4 $(INCLUDEDIRS)

ELF         = ../../bin/ebook   #相对于可执行文件

 

AOBJS    = $(patsubst %.s, %.o, $(wildcard *.s))

COBJS    = $(patsubst %.c, %.o, $(wildcard *.c))

CPPOBJS =$(patsubst %.cpp, %.o, $(wildcard *.cpp))

OBJS    = $(AOBJS) $(COBJS) $(CPPOBJS)

 

all:.depend $(OBJS)

$(CC) $(CFLAGS) $(OBJS) -L $(LIBPATH) \

-L /usr/lib -ljpeg -lfreetype -lttf -lpthread         \

-L /usr/X11R6/lib \

-o $(ELF)

chmod 755 $(ELF)

 

.depend:Makefile $(AOBJS:.o=.S) $(COBJS:.o=.c) $(CPPOBJS:.o=.cpp)

$(CC) -M $(CFLAGS) $(AOBJS:.o=.S)$(COBJS:.o=.c) $(CPPOBJS:.o=.cpp) > $@

 

sinclude.depend

 

clean:

rm -f *.o .depend *.out *.bak

rm-f $(ELF)

【Linux + Makefile】简单实用的Makefile模板来了 今天给大家介绍一个简单实用的Makefile模板,也可以当做学习Makefile核心内容的范例,里面都有详细的注释,清晰明了。 这个Makefile主要解决以下需求: ###################################################################################### # 需求: #1.编译输出的所有文件均放在一个outp... 阅读详情

相关推荐

如何构建多目录的Makefile样例

我的工作最近需要用到Makefile的知识,我将最新的学习心得,做一个记录分享,以便以后需要使用时可以做参考,附件为打包的gcc下makefile的样例c代码,下载后直接可运行。

Makefile模板以及多层Makefile编译(附源码)

几个Makefile模板:编译可执行程序、编译静态库、编译动态库。以及简单地介绍在项目工程多目录下多层Makefile如何编译。

Youning_Yim的博客 6486

二维卡尔曼滤波位置,速度融合

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Ma...

Johnlee2019的博客 8451

通用 Makefile 的编写方法以及多目录 makefile 写法

1 make分中预定义变量表$* 不包含扩展名的目标文件名称。$+ 所有的依赖文件,以空格分开,并以出现的先后为序,可能包含重复的依赖文件。$< 第一个依赖文件的名称。$? 所有的依赖文件,以空格分开,这些依赖文件的修改日期比目标的创建日期晚。$@ 目标的完整名称。$^ 所有的依赖文件,以空格分开,不包含重复的依赖文件。$% 如果目标是归档成员,则该变量表示目标的归档成员名称。例如,如果目标...

shaderdx的专栏 2770

思必驰离线语音芯片:智能家居控制的核心引擎

思必驰离线语音芯片TH1520通过本地化语音识别技术,为智能家居带来革命性体验。该芯片具备200-600毫秒的快速响应、75分贝抗噪能力和双核异构设计,显著提升设备交互效率。支持自定义指令和10种音色选择,开发周期缩短至3天,BOM成本降低30%,是智能家居控制的核心引擎。

redis7keeper的博客 988

FPGA波束形成:从算法到硬件的艺术之旅

本文深入探讨了FPGA在波束形成技术中的应用,从算法原理到Verilog硬件实现的全过程。文章详细分析了FPGA并行处理、低延迟和可重构特性如何优化波束形成系统性能,并提供了Verilog关键模块代码示例和资源优化策略,为工程师实现高效FPGA波束形成解决方案提供实用指导。

tea88的博客 1046

多文件目录Makefile的写法

多个文件目录下Makefile的写法 1、前言   目前从事于linux下程序开发,涉及到多个文件,多个目录,这时候编译文件的任务量比较大,需要写Makefile。关于Makefile的详细内容可以参考网上流传非常广泛的《跟我一起写Makefile》http://blog.youkuaiyun.com/haoel/article/details/2886/,作者是个大牛,非常佩服。 2、

猫哥 的沉淀、积累、总结。天天学习,好好向上...c/c++,嵌入式 linux,Android,HarmonyOS,AIOT) 1216

【一】Android MediaPlayer整体架构源码分析 -【初始化和创建】

本系列文章分析的安卓源码版本:【Android 10.0 版本】 一、MediaPlayer的简单调用关键流程 【这只是一个简单使用过程示例】 // 此处变量声明省略 private void play() { // 先获取SurfaceHolder mSurfaceView = findViewById(R.id.surface_view); mSurfaceHolder = mSurfaceView.getHolder(); mSurfac

CloverLHao的博客 4347

编译多个目录源码的Makefile写法

文件组织如下: --Makefile --src目录 --main.cpp --func.cpp --func.h --head目录 --head.cpp --head.h --obj目录 Makefile写法如下 DIR_OBJ = ./obj DIR_SRC = ./src SRC = $(wildcard ${DIR_SRC}/*.cpp ${DIR_SRC}

相门码农的专栏 6628

基于深度学习的茶叶等级检测识别系统:YOLOv10 + UI界面 + 数据集

YOLOv10是YOLO系列的最新版本,继承了YOLO模型的优点,并对速度和精度进行了优化。YOLOv10在目标检测中使用卷积神经网络(CNN)作为基础,通过改进网络结构和优化训练策略,实现了在更低的延迟下进行高精度的目标检测。本文详细介绍了基于YOLOv10的茶叶等级检测与识别系统的设计与实现过程。我们从数据集准备、模型训练与推理、UI界面设计等多个方面进行了详细讲解,并给出了相应的代码实现。通过本系统,我们可以高效地自动检测茶叶的等级,并通过UI界面直观地展示结果。

YOLO 765

【数据分析八步法】将模糊需求转化为可验证的分析问题

国内访问Huggingface官方源常遇网络问题,可通过切换国内镜像提升下载速度。三种配置方式:1)设置HF_ENDPOINT环境变量;2)在from_pretrained中直接指定镜像参数;3)修改本地Huggingface配置文件。常用镜像包括hf-mirror.com、阿里云ModelScope和清华镜像源。注意镜像同步延迟、私有模型限制,建议配合huggingface-cli工具使用,必要时取消代理设置。合理配置镜像源可显著改善Huggingface生态使用体验。

Mr数据杨 858

多个文件目录下Makefile的写法

多个文件目录下Makefile的写法 1、前言   目前从事于linux下程序开发,涉及到多个文件,多个目录,这时候编译文件的任务量比较大,需要写Makefile。关于Makefile的详细内容可以参考网上流传非常广泛的《跟我一起写Makefile》http://blog.youkuaiyun.com/haoel/article/details/2886/,作者是个大牛,非常佩服。 2、简单测试

bian1029的专栏 629

070、人脸AE实战:基于人脸检测的亮度优先与背光补偿算法

本文分享了基于人脸检测的亮度优先与背光补偿算法的实战经验。针对逆光自拍场景下人脸过曝问题,作者提出了动态平衡方案: 通过内缩20%的人脸核心区域提取亮度,避免背景干扰 创新性地采用"亮度差+置信度"的背光判定机制 设计动态权重分配策略,人脸权重可在30%-70%间调整 引入平滑处理防止亮度跳变,补偿增益限制在1.5倍以内 关键点在于:不是简单提亮人脸,而是通过分析人脸与背景亮度差,在80-110目标亮度范围内动态调整,实现自然的人脸曝光效果。算法已在实际项目中验证,解决了传统AE在逆光场景下的失效问题。

zzfmlxs的博客 34

杂七杂八

1 多个目录编译的makefile的编写 2 实现多线程对队列的读写操作(封装类) 3 TCP协议状态详解  4 用C++面向对象的方式动态加载so  5 linux常用的makefile模版编写 6 通过引用计数解决野指针的问题(C&C++) svn checkout http://vimercode.googlecode.com/svn/trunk/ 7

木有名字的专栏 572

关于机器人精度的总结(重复精度和绝对精度区分)

机械臂是工业生产中的重要设备,在焊接码垛 以及 非 接触测量等 领域中有 着重要应 用。然而由于机械臂本体制造中存在机械制造公差装配误差导致的运动学参数误差以及电机转角与关节转角间减速比误差等,导致机械臂存在。因此需要对机械臂进行标定,提高机械臂的绝对定位精度。ABB系列某款机器人精度参数表。

大胡子大叔的专栏 1万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Linux -- Makefile的学习笔记以及多级目录下Makefile的编写

一、Make简介: 工程管理器,顾名思义,是指管理较多的文件,Make工程管理器也就是个“自动编译管理器”,这里的“自动”是指它能够根据文件时间戳自动发现更新过的文件而减少编译的工作量,同时,它通过读入Makefile文件文件的内容来执行大量的编译工作,Make将只编译改动的代码文件,而不用完全编译。 Makefile文件一般和项目的其他源文件放在同一个目录下。在机器上可以同时存在许多不同的m...

青椒*^_^*凤爪爪的博客 4万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

通用Makefile的编写和在项目工程中使用Makefile(包括动态库、静态库的链接、整个工程联合编译)

一、通用Makefile文件的编写        (1)、什么是通用Makefile?                     这里的通用Makefile指的是它既能编译可执行文件、也能编译动态链接库、又能编译静态库,只需要更改很少的内容即可。        (2)、写一个通用Makefile #-------------------------配置区域------

迷雾江湖 的博客 8400

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Makefile自动搜所目录及子目录下的的所有文件、自动生成编译目录

makefile进行项目管理,进行多目录文件编译、编译过程中自动生成编译目录、自动搜所当前目录下的所有源文件、生成静态库、合并静态库、静态库中函数的交叉调用等。根据一个比较特殊的需求而编写的一个工程模板,内容比较杂单没有进行系统性的解释说明。

青椒*^_^*凤爪爪的博客 1万+

编写makefile模板且一键创建到当前目录方法

编写makefile模板且一键创建到当前目录方法1. 编写makefile模板2. 添加alias到~/.bashrc3. 更新文件和使用 1. 编写makefile模板 makefile: #create by kuanyew 20200612 SrcFiles=$(wildcard *.c) TargetFiles=$(patsubst %.c,%,$(SrcFiles)) all:$(TargetFiles) .PHONY:all clean %:%.c g++ -o $@ $< -lpt

kuanyew的博客 461

【Linux】多文件标准工程目录的Makefile编写及通用模板

在这里我们介绍多文件Makefile的编写,多文件标准工程目录的Makefile的编写及通用模板。

请赐予我力量 6277

cmake linux模板 多目录_多个文件目录下Makefile的写法

1、前言目前从事于linux下程序开发,涉及到多个文件,多个目录,这时候编译文件的任务量比较大,需要写Makefile。关于Makefile的详细内容可以参考网上流传非常广泛的《跟我一起写Makefile》http://blog.youkuaiyun.com/haoel/article/details/2886/,作者是个大牛,非常佩服。2、简单测试测试程序在同一个文件中,共有func.h、func.c、ma...

weixin_33060757的博客 315

makefile单目录编写和多目录编写

Makefile编写

weixin_45205160的博客 951

Makefile常用模板

做开发的特别是C/C++开发者一般都会用到Makefile,然而多数时候在公司做项目都不需要自己去写Makefile,仅仅停留在能看懂的基础上。因为make命令编译实在是太方便了,所以自己写写小项目用一用还是挺好的。网上关于Makefile教程也很多,总结一下近几年用到的常用脚本,方便自己查阅,如果能帮到别人那便是极好的^_^。 单文件项目 其实一个文件的项目也没必要写Makefil...

彼此当年少,莫负好时光 1万+

cmake linux模板 多目录_复杂多目录的Makefile模板及示例

大约一年多以前,还在移植u-boot,当时参考了u-boot的Makefile,做了一个多目录的Makefile模板。如今,一年过去了,本篇文章还是折腾Makefile模板,本人的水平由此可见一斑。当时的模板没有考虑很多东西,比如将源代码文件及目标文件分离。此次再写一个相对复杂的Makefile模板,自此之后,估计不想再折腾了。本文的Makefile跟以往的模板一样,都是参考u-boot的做法(u...

weixin_39646970的博客 579

Makefile模板

1.写在前面   对于Windows下开发,很多IDE都集成了编译器,如Visual Studio,提供了“一键编译”,编码完成后只需一个操作即可完成编译、链接、生成目标文件。Linux开发与Windows不同,Linux下一般用的的gcc/g++编译器,如果是开发ARM下的Linux程序,还需用到arm-linux-gcc/arm-linux-g++交叉编译器。Linux下也可以实现“一键编译”功能,此时需要一个编译脚本“Makefile”,Makefile可以手动编写,也可以借助自动化构建工具(如sc

weixin_38293850的博客 2194
上一篇: wince服务编写方法
下一篇: WINCE读取注册表
ComputerInBook
博客等级 码龄19年 1168粉丝 464原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值