Я разрабатываю проект для процессора Cortex-M4 и мои флаги компилятора включить это:В чем разница между переменными TARGET_ARCH и TARGET_MACH?
-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-источников TARGET_ARCH используется, но в чем разница и как правильно указать эти переменные?
Оба являются «машинной архитектурой целевой системы», поэтому до сих пор неясно. Спасибо, в любом случае. – LennyB