我正在使用gcc-arm,并且试图在构建过程中将目标文件复制到单独的目录中。
OBJS = example.o
OBJDIR = /home/repos/build/
$(OBJDIR)/%.o: %.c
$(CC) -c $(CFLAGS) $< -o $@
$(CC) -MM $(CFLAGS) $< > $*.d
%.o: %.s
$(CC) -c $(CFLAGS) $< -o $@
ELF = main.elf
$(ELF): $(OBJS)
$(LD) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS)
BIN = main.bin
%.bin: %.elf
$(OBJCOPY) -O binary $< $@
答案 0 :(得分:0)
如果要在另一个目录中构建目标,则必须告诉make这就是您要执行的操作。这个:
OBJS = example.o
...
$(ELF): $(OBJS)
告诉您要构建文件example.o
,它只是同一目录中的文件。如果要在其他目录中构建文件,则必须提出要求:
OBJDIR = /home/repos/build/
OBJS = $(OBJDIR)example.o