TARGET_ARCH和TARGET_MACH变量有什么区别?

时间:2015-06-11 13:16:56

标签: makefile

我正在为Cortex-M4处理器开发项目,我的编译器标志包括:

-mlittle-endian -mthumb -mcpu=cortex-m4

以下摘自make数据库(make -p | grep -E '^(LINK|COMPILE)\.[cosS]\ ' | sort)):

COMPILE.S = $(CC) $(ASFLAGS) $(CPPFLAGS) $(TARGET_MACH) -c
COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c
COMPILE.s = $(AS) $(ASFLAGS) $(TARGET_MACH)
LINK.S = $(CC) $(ASFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_MACH)
LINK.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)
LINK.o = $(CC) $(LDFLAGS) $(TARGET_ARCH)
LINK.s = $(CC) $(ASFLAGS) $(LDFLAGS) $(TARGET_MACH)

我看到使用汇编程序来源 TARGET_MACH ,并且使用了c-sources TARGET_ARCH ,但有什么区别以及如何正确指定这些变量?

1 个答案:

答案 0 :(得分:1)

发现这一点:http://zoo.cs.yale.edu/classes/cs210/help/make.html表示TARGET_ARCHTARGET_MACH是目标系统archmach的输出。如果您搜索上述实用程序,您会发现在现代系统上它们对应于uname -muname -p的输出。对于我的桌面,他们会相应地给我x86_64i386

相关问题