2

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

0