Tạo Makefile để tự động liên kết tất cả các tệp trong thư mục


2

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ả.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.