我的Makefile有一些问题.
使用此命令,我可以将所有*.c文件编译为*.o,这很有效:
$(OBJ) : %.o : %.c $(LDSCRIPT) Makefile
$(CC) $(ARM9_INCLUDES) -c $(CFLAGS) $< -o $@
Run Code Online (Sandbox Code Playgroud)
但是现在我想知道,如果我想-O3
在一个特定的文件上运行优化-O0
怎么办,还有剩下的?
是否有任何命令为特定文件添加不同的规则?
我现在正在做的是用自己的规则编译每个C文件,这非常烦人,因为我有大约30个文件使Makefile变得庞大,每次我在一个文件中更改某些东西时它再次编译所有内容.
Jan*_*dec 13
particular_file.o : CFLAGS+=-O3
Run Code Online (Sandbox Code Playgroud)
(假设GNU make)在GNU Make手册中看到特定于目标的变量值(也许是紧随其后的特定于模式的变量值).
另请注意,该命令是针对给定文件的最具体规则使用的,因此您可以拥有特定于目标的变量值:
particular_file.o : particular_file.c
completely_special_compiler -o $@ $<
%.o : %.c
$(CC) $(CFLAGS) -o $@ $<
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3147 次 |
最近记录: |