这些参数在cubemx生成的makeifle中意味着什么



我正在学习并尝试为基于皮层的Holtek芯片编写makefile。我打算修改cubemx为STM32生成的makefile作为模板,但我对GCC和make工具不是特别熟悉。

现在我正在学习这个部分。

$(BUILD_DIR)/%.o: %.c Makefile | $(BUILD_DIR) 
$(CC) -c $(CFLAGS) -Wa,-a,-ad,-alms=$(BUILD_DIR)/$(notdir $(<:.c=.lst)) $< -o $@

我不知道参数-Wa-a-adalms是什么意思。我查看了GCC手册,但只找到了-Wa:的描述

-Wa,选项

将选项作为选项传递给汇编程序。如果选项包含逗号,它在逗号处被拆分为多个选项。

从这个描述中我无法理解它的真正功能。

它们是什么意思?

我应该在Holtek芯片的makefile中修改它吗?

如Tom V所述,第一个参数-Wa用于将后续参数-a,-ad,-alms发送到汇编编译器(GAS(。

参数-a-ad-alms用于在编译期间生成列表文件(在构建输出目录中找到的.lst文件(。

清单文件有助于理解编译后代码的低级细节。

您可以在这里找到有关这些选项(以及其他选项(的更多详细信息:

https://ftp.gnu.org/old-gnu/Manuals/gas-2.9.1/html_chapter/as_2.html#SEC10

这里:

https://www.systutorials.com/generate-a-mixed-source-and-assembly-listing-using-gcc/

我应该在Holtek芯片的makefile中修改它吗?

无需更改,但如果您想更快地编译,可以省略这些参数(在我的设置中并没有太大区别(。

最新更新