Я хотел бы настроить 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 в каталоге с исполняемыми файлами. Это все.