make -c VS make -f
make 是一个用于构建(编译)项目的工具,它通过读取一个名为 Makefile 的文件来执行构建任务。make 命令有很多选项和参数,其中包括 -c 和 -f。
-
make -c:-
作用:指定进入指定的目录并执行相应的
Makefile。 -
示例:假设你有一个名为
project的目录,该目录包含
Makefile文件,你可以使用以下命令进入该目录并执行构建任务:
make -C project -
这将进入
project目录,并执行该目录下的Makefile文件中定义的构建规则。
-
-
make -f:-
作用:指定要使用的
Makefile文件的名称。 -
示例:假设你有一个名为
custom_makefile的文件,你可以使用以下命令执行构建任务:
make -f custom_makefile -
这将使用
custom_makefile文件作为构建规则的来源,而不是默认的Makefile。
-
-
异同点:
- 共同点: 两者都用于定制
make命令的行为,使其能够执行指定的构建规则。 - 不同点:
-c用于指定目录,而-f用于指定文件。-c通常与目录结合使用,而-f通常与文件名结合使用。
- 共同点: 两者都用于定制
示例:
假设有以下目录结构:
project/
|-- Makefile
|-- src/
| |-- main.c
| |-- utils.c
| |-- utils.h
project/Makefile 可能如下所示:
# project/MakefileCC = gcc
CFLAGS = -Wallall: my_programmy_program: src/main.c src/utils.c$(CC) $(CFLAGS) $^ -o $@clean:rm -f my_program
现在,如果你想在 project 目录外执行构建任务,可以使用 -C 选项:
make -C project
或者,如果你有一个自定义的 Makefile 文件,比如 custom_makefile:
make -f custom_makefile
这两者的选择取决于你想要执行的具体构建规则和文件组织结构。
相关文章:
make -c VS make -f
make 是一个用于构建(编译)项目的工具,它通过读取一个名为 Makefile 的文件来执行构建任务。make 命令有很多选项和参数,其中包括 -c 和 -f。 make -c: 作用:指定进入指定的目录并执行相应的 Makefile。 示…...
Unity 代码控制Color无变化
Unity中,我们给Color的赋值比较常用的方法是: 1、使用预定义颜色常量: Color color Color.white; //白色 Color color Color.black; //黑色 Color color Color.red; //红色 Color color Color.green; //绿色 Color color Color.blue; …...
【Erlang进阶学习】2、匿名函数
受到其它一些函数式编程开发语言的影响,在Erlang语言中,将函数作为一个对象,赋予其“变量”的属性,即为我们的匿名函数 或 简称 fun,它具有以下特性: (匿名函数:不是定义在Erlang模…...
肖sir__mysql之视图__009
mysql之视图 一、什么是视图 视图是一个虚拟表(逻辑表),它不在数据库中以存储形式保存(本身包含数据),是在使用视图的时候动态生成。 二、视图作用 1、查询数据库中的非常复的数据 例如:多表&a…...
FPGA falsh相关知识总结
1.存储容量是128M/8 Mb16MB 2.有256个sector扇区*每个扇区64KB16MB 3.一页256Byte 4.页编程地址0256 5:在调试SPI时序的时候一定注意,miso和mosi两个管脚只要没发送数据就一定要悬空(处于高组态),不然指令会通过两…...
升辉清洁IPO:广东清洁服务“一哥”还需要讲好全国化的故事
近日,广东物业清洁服务“一哥”升辉清洁第四次冲击IPO成功,拟于12月5日在香港主板挂牌上市。自2021年4月第一次递交招股书,时隔两年半,升辉清洁终于拿到了上市的门票。 天眼查显示,升辉清洁成立于2000年,主…...
Python自动化办公:PDF文件的分割与合并
我们平时办公中,可能需要对pdf进行合并或者分割,但奈何没有可以白嫖的工具,此时python就是一个万能工具库。 其中PyPDF2是一个用于处理PDF文件的Python库,它提供了分割和合并PDF文件的功能。 在本篇博客中,我们将详细…...
破解app思路
1.会看smali代码逻辑 一.快速定位关键代码 1.分析流程 搜索特征字符串 搜索关键 api 通过方法名来判断方法的功能 2.快速定位关键代码 反编译 APK 程序 AndroidManifest.xml>包名/系统版本/组件 程序的主 activity(程序入口界面) 每个 Android 程序…...
36.位运算符
一.什么是位运算符 按照二进制位来进行运算的运算符叫做位运算符,所以要先将操作数转换成二进制(补码)的形式在运算。C语言的中的位运算符有: 运算符作用举例结果& 按位与(and) 0&00; 0&10; …...
C#异常处理-throw语句
throw语句是我们手动引发异常的一个语句。 在程序执行过程中,当某些条件不符合我们的要求时,那么我们就可以使用throw语句手动抛出异常,那么就可以在异常发生的地方终止当前代码块的执行,此时我们就可以把控制权传递给调用堆栈中…...
PlantUML语法(全)及使用教程-时序图
目录 1. 参与者1.1、参与者说明1.2、背景色1.3、参与者顺序 2. 消息和箭头2.1、 文本对其方式2.2、响应信息显示在箭头下面2.3、箭头设置2.4、修改箭头颜色2.5、对消息排序 3. 页面标题、眉角、页脚4. 分割页面5. 生命线6. 填充区设置7. 注释8. 移除脚注9. 组合信息9.1、alt/el…...
231204 刷题日报
21. 合并两个有序链表 单调栈没看懂,晚上回家再说吧 380. O(1) 时间插入、删除和获取随机元素 今天被接雨水钉在耻辱柱,找时间再看吧...
PTA 7-229 sdut-C语言实验- 排序
给你N(N<100)个数,请你按照从小到大的顺序输出。 输入格式: 输入数据第一行是一个正整数N,第二行有N个整数。 输出格式: 输出一行,从小到大输出这N个数,中间用空格隔开。 输入样例: 5 1 4 3 2 5输出样例: 1 2 3 4 5 #include <stdio.h>…...
原生横向滚动条 吸附 页面底部
效果图 /** 横向滚动条 吸附 页面底部 */ export class StickyHorizontalScrollBar {constructor(options {}) {const { el, style } optionsthis.createScrollbar(style)this.insertScrollbar(el)this.setScrollbarSize()this.onEvent()}/** 创建滚轴组件元素 */createS…...
1+x网络系统建设与运维(中级)-练习3
一.设备命名 AR1 [Huawei]sysn AR1 [AR1] 同理可得,所有设备的命名如上图所示 二.VLAN LSW1 [LSW1]vlan 10 [LSW1-vlan10]q [LSW1]int g0/0/1 [LSW1-GigabitEthernet0/0/1]port link-type access [LSW1-GigabitEthernet0/0/1]port default vlan 10 [LSW1-GigabitEt…...
知识图谱07——图片中表格开源ocr识别
对比了多种ocr识别算法,最终选择了百度paddle官方的ocr算法 在所在的虚拟环境下运行 pip install paddleocr --userfrom paddleocr import PaddleOCR import os import csv# 创建 PaddleOCR 对象 ocr PaddleOCR(use_gpuTrue) # 无gpu时选择False# 指定图片文件夹…...
每日一练2023.12.4——正整数【PTA】
一时间网上一片求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组的下标,index[0]2 对应 arr[2]1,index[1]0 对应 arr[0]8,index[2]3 对应 arr[3]0,以此类推…… 很容易得到电话号码是18013…...
golang之net/http模块学习
文章目录 开启服务开启访问静态文件获取现在时间按时间创建一个空的json文件按时间创建一个固定值的json文件 跨域请求处理输出是json 开启服务 package mainimport ("fmt""net/http" )//路由 func handler(w http.ResponseWriter, r *http.Request){fmt.…...
Python中format函数用法
嗨喽~大家好呀,这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 format优点 format是python2.6新增的一个格式化字符串的方法,相对于老版的%格式方法,它有很多优点。 1.不需要理会数据类型的问题&#…...
当点云遇上核技巧:一文搞懂K-PCA为何能处理非线性数据(附Sklearn对比实验)
当点云遇上核技巧:一文搞懂K-PCA为何能处理非线性数据(附Sklearn对比实验) 想象你手中握着一团缠绕的毛线——在三维空间里它呈现出复杂的螺旋结构。如果强行用平面镜去照射这个物体,得到的投影永远是一团混乱的线条。这正是线性P…...
120MHz Cortex-M3+150DMIPS+ART加速器:STM32F205RBT6的性能参数解析
STM32F205RBT6:120MHz Cortex-M3工业互联MCU的技术解析在工业控制、电机驱动以及物联网网关等嵌入式应用中,微控制器往往需要同时兼顾高算力、实时响应与丰富的工业通信接口。STM32F205RBT6是意法半导体基于ARM Cortex-M3内核的高性能系列产品࿰…...
Chromatic深度解析:基于QuickJS的跨平台动态代码注入框架实现原理
Chromatic深度解析:基于QuickJS的跨平台动态代码注入框架实现原理 【免费下载链接】chromatic Universal modifier for Chromium/V8 | 广谱注入 Chromium/V8 的通用修改器 项目地址: https://gitcode.com/gh_mirrors/be/chromatic 你是否曾经遇到过这样的技术…...
SAP S/4HANA 利润中心(PCA)完整配置步骤
SAP S/4HANA 利润中心(PCA)完整配置步骤按项目上线标准顺序一步步来,从零到可用,含前台 后台、必配 可选,通俗易懂不绕弯路一、前期基础前提(必须先做好)公司代码、控制范围已创建控制范围与公…...
PacketStreamer传感器工作原理:深入解析BPF过滤机制
PacketStreamer传感器工作原理:深入解析BPF过滤机制 【免费下载链接】PacketStreamer :star: :star: Distributed tcpdump for cloud native environments :star: :star: 项目地址: https://gitcode.com/gh_mirrors/pa/PacketStreamer PacketStreamer是一款专…...
华为CANN GE动态宽高获取API
aclmdlGetDynamicHW 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、Tensor…...
AI助手配置同步工具:解决多工具MCP服务器与指令文件统一管理难题
1. 项目概述与核心痛点如果你和我一样,日常开发中同时使用多个AI编程助手——比如主力用Claude Code,但偶尔也会切到Gemini CLI、Codex CLI、Cursor、Kimi CLI这些工具,去蹭蹭它们的免费额度或者体验下不同的模型能力——那你一定深有体会&am…...
基于Vagrant的Claude本地部署:自动化AI开发环境搭建指南
1. 项目概述:一个让Claude在本地“安家”的Vagrant包装器 如果你和我一样,是个喜欢在本地环境折腾各种AI工具的开发人员,那你肯定对Claude这个强大的语言模型不陌生。但官方提供的使用方式往往受限于网络环境、API调用成本或者隐私顾虑&…...
小型嵌入式系统开发流程与实践指南
1. 小型嵌入式系统开发流程概述在嵌入式系统开发领域,一个结构化的软件开发流程往往是项目成功的关键因素。与通用计算机软件开发不同,嵌入式系统通常具有资源受限、实时性要求高、硬件依赖性强等特点,这使得开发流程的设计需要特别考虑这些约…...
MediaCreationTool.bat:5分钟解决Windows安装的所有痛点
MediaCreationTool.bat:5分钟解决Windows安装的所有痛点 【免费下载链接】MediaCreationTool.bat Universal MCT wrapper script for all Windows 10/11 versions from 1507 to 21H2! 项目地址: https://gitcode.com/gh_mirrors/me/MediaCreationTool.bat 还…...
