创建 Makefile 自动链接目录中的所有文件

创建 Makefile 自动链接目录中的所有文件

我想要建立一个 Makefile 来自动汇编和链接我的汇编程序。

现在我在单个文件中有不同的汇编程序源,如prog1.asm、prog2.asm、hello.asm等。

我想要运行

as -o prog1.o prog1.asm

ld prog1.o prog1

对于每一个来源。

我设置了一个 Makefile 但是它不能正常工作。

.PHONY : all
.PHONY : clean

SOURCES = $(wildcard *.asm)
OBJECTS = $(SOURCES:.asm=.o)
TARGETS = $(SOURCES:.asm=)

%.o: %.asm
    as -o $@ $<

all: $(TARGETS)

$(TARGETS): $(OBJECTS)
    ld $< -o $@
clean:
    rm *.o

实际上,make 应该将目录中的所有 asm 文件链接到可执行文件。就是这样。

相关内容