【发布时间】:2016-09-22 17:10:12
【问题描述】:
我已经创建了一个这样的 Makefile
CC = sdcc
SRCS = $(PNAME).c\
../../src/gpio.c
../../src/timers.c
../../src/i2c.c
$HDRS = -I../../headers
all:
mkdir -p ./output
$(CC) $(SRCS) -lstm8 -mstm8 $(HDRS)
问题是,sdcc 一次只能编译一个源。所以我需要对我在SRCS 变量中定义的每个源执行类似 foreach 的操作。如何在 gnu-make 中做到这一点?
【问题讨论】:
-
sdcc是否有一个选项可以将其编译为目标文件,但不尝试将其链接以制作程序?如果它不能在同一个编译命令中处理多个源文件,我想它必须这样做。对于gcc,该选项拼写为-c。 -
如果
sdcc在同一命令中不接受多个源文件,那么您应该如何使用它从多个源构建程序?它的工具链是否有单独的链接器?它是否依赖外部链接器,例如 GNUld? -
-mstm8是编译选项还是链接选项? -
@JohnBollinger yes -c 仅用于编译,但我还不确定链接过程!
-
@JohnBollinger yes -mstm8 -lstm8 是要编译的平台