Tôi muốn thiết lập Makefile để tự động lắp ráp và liên kết các chương trình lắp ráp của mình.
Ngay bây giờ tôi có các nguồn chương trình biên dịch chương trình khác nhau trong các tệp đơn lẻ như prog1.asm, prog2.asm, hello.asm, v.v.
Tôi muốn làm cho chạy
as -o prog1.o prog1.asm
ld prog1.o prog1
cho mỗi nguồn duy nhất.
Tôi đã thiết lập Makefile nhưng nó không hoạt động chính xác.
.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
Trong thực tế, make nên liên kết tất cả các tệp asm trong thư mục để thực thi. Đó là tất cả.