当前位置:网站首页>Makefile 分隔文件名与后缀
Makefile 分隔文件名与后缀
2022-07-02 11:21:00 【Ayka】
参考Get filename without extension within makefile - Stack Overflow
https://stackoverflow.com/questions/13995906/get-filename-without-extension-within-makefile与GNU make 8.3 Functions for File Names
https://www.gnu.org/software/make/manual/make.html#File-Name-Functions最小样例如下:
SRCNAME = $(basename bar_1.foo.c)
SRCTYPE = $(suffix bar_1.foo.c)其结果为 SRCNAME 是 bar_1.foo,SRCTYPE 是 .c(注意这里的后缀名是包含句点的)。
实用样例如下:
SRCNAME = $(basename $(SRC))
SRCTYPE = $(suffix $(SRC))
all:
ifeq ($(SRCTYPE),.s)
all: assembly
else ifeq ($(SRCTYPE),.c)
all: program
else
$(error Source file suffix must be *.c or *.s)
endif
assembly:
@echo ASM
program:
@echo C
注意这里的第二个和第三个 all target 不可添加缩进, 参考conditional - How do you conditionally call a target based on a target variable (Makefile)? - Stack Overflow
注意 ifeq 条件的逗号前后不可添加空格,结尾只添加一个 endif。
例如若在命令行中执行
make SRC=rv32_fib.s则会输出
ASM
边栏推荐
- Stm32-dac Experiment & high frequency DAC output test
- PTA题库 ===>复数四则运算,一帮一,考试座位号(7-73)
- STM32标准固件库函数名记忆(二)
- Dangbei projection 4K laser projection X3 Pro received unanimous praise: 10000 yuan projector preferred
- 什么是 eRDMA?丨科普漫画图解
- Convolutional neural network (Introduction)
- Uniapp automated test learning
- kaggle如何使用utility script
- Use of swagger
- Solve the problem that openocd fails to burn STM32 and cannot connect through SWD
猜你喜欢

##51单片机实验之简易验证码发生器

Federated Search: all requirements in search

QT new project

Certik released the defi security report in 2021, disclosing key data of industry development (PDF download link attached)

Fabric. JS upper dash, middle dash (strikethrough), underline

Use of swagger

How kaggle uses utility script
![[to be continued] [UE4 notes] l5ue4 model import](/img/6b/d3083afc969043dbef1aeb4fccfc99.jpg)
[to be continued] [UE4 notes] l5ue4 model import

途家木鸟美团夏日折扣对垒,门槛低就一定香吗?

buuctf-pwn write-ups (7)
随机推荐
MQ教程 | Exchange(交换机)
Do you know that there is an upper limit on the size of Oracle data files?
测试框架TestNG的使用(二):testNG xml的使用
A white hole formed by antineutrons produced by particle accelerators
Quarkus学习四 - 项目开发到部署
快解析:轻松实现共享上网
threejs的控制器 立方体空间 基本控制器+惯性控制+飞行控制
obsidian安装第三方插件——无法加载插件
NLA natural language analysis realizes zero threshold of data analysis
NLA自然语言分析,让数据分析更智能
Fabric.js 元素被选中时保持原有层级
求轮廓最大内接圆
Fabric. JS zoom canvas
Yolov3 & yolov5 output result description
Thymeleaf dependency
4. Array pointer and pointer array
Go operation redis
[development environment] StarUML tool (download software | StarUML installation | StarUML creation project)
Method of creating linked server for cross server data access
Use of freemaker