当前位置:网站首页>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
边栏推荐
- Talk about idempotent design
- Fabric. JS dynamically set font size
- Analysis of CPU surge in production environment service
- <口算练习机 方案开发原理图>口算练习机/口算宝/儿童数学宝/儿童计算器 LCD液晶显示驱动IC-VK1621B,提供技术支持
- 字符串匹配问题
- STM32库函数进行GPIO初始化
- threejs的控制器 立方體空間 基本控制器+慣性控制+飛行控制
- buuctf-pwn write-ups (7)
- Quick analysis: easy to share the Internet
- Qt新建项目
猜你喜欢

天猫商品详情接口(APP,H5端)

Fabric.js 橡皮擦的用法(包含恢复功能)

Daily learning 2

How kaggle uses utility script

MQ tutorial | exchange (switch)

由粒子加速器产生的反中子形成的白洞
![[development environment] StarUML tool (download software | StarUML installation | StarUML creation project)](/img/08/9f25515e600a3174340b2589c81b0e.jpg)
[development environment] StarUML tool (download software | StarUML installation | StarUML creation project)

Design and implementation of car query system based on php+mysql

QT new project

MySQL 45 lecture - learning from the actual battle of geek time MySQL 45 Lecture Notes - 04 | easy to understand index (Part 1)
随机推荐
Chapter 9: xshell free version installation
Quarkus learning IV - project development to deployment
P1042 [noip2003 popularization group] Table Tennis
1. Editing weapon VIM
[to be continued] [UE4 notes] l5ue4 model import
How kaggle uses utility script
PTA question bank== > complex four operations, one for one, examination seat number (7-73)
PHP linked list creation and traversal
什么是 eRDMA?丨科普漫画图解
PyQt5_ Qscrollarea content is saved as a picture
复用和分用
String matching problem
STM32标准固件库函数名记忆(二)
求轮廓最大内接圆
threejs的控制器 立方体空间 基本控制器+惯性控制+飞行控制
Convolutional neural network (Introduction)
Route (II)
每日学习2
卷积神经网络(入门)
Daily learning 2