chore: rework makefile

This commit is contained in:
2025-10-14 20:17:15 +02:00
parent e2a49516ec
commit 7da89dc249
5 changed files with 18 additions and 35 deletions

1
.gitignore vendored
View File

@@ -14,3 +14,4 @@ a.out
.DS_Store .DS_Store
*.log *.log
main

View File

@@ -9,4 +9,4 @@ RUN apt-get update -y \
WORKDIR /app WORKDIR /app
CMD ["make"] CMD ["make", "run"]

View File

@@ -1,32 +1,26 @@
TARGET ?= main .PHONY: all clean re
.DEFAULT_GOAL := all
SRC := $(wildcard src/*.s src/*.asm) SRC ?= $(wildcard src/*.s)
OBJ := $(SRC:.s=.o) OBJ = $(SRC:.s=.o)
OBJ := $(OBJ:.asm=.o) EXE ?= main
AS ?= as
LD ?= ld
ASFLAGS ?=
LDFLAGS ?=
AS = as $(EXE): $(OBJ)
LD = ld $(LD) $(LDFLAGS) -o $@ $(OBJ)
NASM = nasm
ASFLAGS =
NASMFLAGS = -f elf64
LDFLAGS =
all: $(TARGET) run
%.o: %.s %.o: %.s
$(AS) $(ASFLAGS) -o $@ $< $(AS) $(ASFLAGS) -o $@ $<
%.o: %.asm all: $(EXE)
$(NASM) $(NASMFLAGS) -o $@ $<
$(TARGET): $(OBJ)
$(LD) $(LDFLAGS) -o $@ $^
clean: clean:
rm -f $(OBJ) $(TARGET) rm -f $(OBJ) $(EXE)
re: clean all re: clean all
run: $(TARGET) run: $(EXE)
./$(TARGET) ./$(EXE)

BIN
main

Binary file not shown.

View File

@@ -1,18 +1,6 @@
.global _start .global _start
.section .data
msg:
.ascii "Hello World!\n"
len = . - msg
.section .text
_start: _start:
mov $1, %rax
mov $1, %rdi
lea msg(%rip), %rsi
mov $len, %rdx
syscall
mov $60, %rax mov $60, %rax
xor %rdi, %rdi xor %rdi, %rdi
syscall syscall