【发布时间】:2019-04-20 13:31:04
【问题描述】:
我刚刚创建了一个通用的 makefile 来编译和链接汇编文件:
AS=nasm
ASFLAGS=-g -f elf64
LDFLAGS=-m elf_x86_64 -static
BINARIES=print_args64
all: $(BINARIES)
%: %.o
$(LD) $(LDFLAGS) -o $@ $<
%.o: %.asm
$(AS) $(ASFLAGS) -o $@ $<
clean:
$(RM) $(BINARIES) $(wildcard *.o)
正在运行 make all 我希望如下:
nasm -g -f elf64 -o print_args64.o print_args64.asm
ld -m elf_x86_64 -static -o print_args64 print_args64.o
但它实际上为以下对象添加了rm 命令:
rm print_args64.o
这是从哪里来的,我该如何避免?
我找不到这方面的任何文档。
你好,bvolkmer
【问题讨论】:
-
您没有使用您在此处发布的 makefile。
-
@user657267 这是一个精确的副本。你为什么这么认为?
-
对不起,我没有尝试多次运行它。
标签: assembly makefile nasm gnu-make ld