如何将目标文件,二进制文件和elf文件复制到Makefile中的目录中?

时间:2019-03-27 11:13:28

标签: makefile

我正在使用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 $< $@

1 个答案:

答案 0 :(得分:0)

如果要在另一个目录中构建目标,则必须告诉make这就是您要执行的操作。这个:

OBJS = example.o
  ...
$(ELF): $(OBJS)

告诉您要构建文件example.o,它只是同一目录中的文件。如果要在其他目录中构建文件,则必须提出要求:

OBJDIR = /home/repos/build/

OBJS = $(OBJDIR)example.o
相关问题