from-scratch/lang/Makefile
2025-10-17 01:11:51 +02:00

26 lines
492 B
Makefile

# Makefile: Compile and link main.asm using nasm and mold, intermediate files in target/
TARGET_DIR := target
SRC := src/main.asm src/lib.asm src/int_to_str.asm
OBJ := $(addprefix $(TARGET_DIR)/, $(notdir $(SRC:.asm=.o)))
BIN := $(TARGET_DIR)/main
.PHONY: all clean
all: $(BIN)
$(TARGET_DIR):
mkdir -p $(TARGET_DIR)
$(TARGET_DIR)/%.o: src/%.asm | $(TARGET_DIR)
nasm -f elf64 -g $< -o $@
$(BIN): $(OBJ)
mold -run ld -o $(BIN) $(OBJ)
run: $(BIN)
$(BIN)
clean:
rm -rf $(TARGET_DIR)