mirror of
https://github.com/guezoloic/minishell.git
synced 2026-01-25 07:34:22 +00:00
chore: rework makefile
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -14,3 +14,4 @@ a.out
|
||||
.DS_Store
|
||||
|
||||
*.log
|
||||
main
|
||||
@@ -9,4 +9,4 @@ RUN apt-get update -y \
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
CMD ["make"]
|
||||
CMD ["make", "run"]
|
||||
36
Makefile
36
Makefile
@@ -1,32 +1,26 @@
|
||||
TARGET ?= main
|
||||
.PHONY: all clean re
|
||||
.DEFAULT_GOAL := all
|
||||
|
||||
SRC := $(wildcard src/*.s src/*.asm)
|
||||
OBJ := $(SRC:.s=.o)
|
||||
OBJ := $(OBJ:.asm=.o)
|
||||
SRC ?= $(wildcard src/*.s)
|
||||
OBJ = $(SRC:.s=.o)
|
||||
EXE ?= main
|
||||
AS ?= as
|
||||
LD ?= ld
|
||||
ASFLAGS ?=
|
||||
LDFLAGS ?=
|
||||
|
||||
AS = as
|
||||
LD = ld
|
||||
NASM = nasm
|
||||
|
||||
ASFLAGS =
|
||||
NASMFLAGS = -f elf64
|
||||
LDFLAGS =
|
||||
|
||||
all: $(TARGET) run
|
||||
$(EXE): $(OBJ)
|
||||
$(LD) $(LDFLAGS) -o $@ $(OBJ)
|
||||
|
||||
%.o: %.s
|
||||
$(AS) $(ASFLAGS) -o $@ $<
|
||||
|
||||
%.o: %.asm
|
||||
$(NASM) $(NASMFLAGS) -o $@ $<
|
||||
|
||||
$(TARGET): $(OBJ)
|
||||
$(LD) $(LDFLAGS) -o $@ $^
|
||||
all: $(EXE)
|
||||
|
||||
clean:
|
||||
rm -f $(OBJ) $(TARGET)
|
||||
rm -f $(OBJ) $(EXE)
|
||||
|
||||
re: clean all
|
||||
|
||||
run: $(TARGET)
|
||||
./$(TARGET)
|
||||
run: $(EXE)
|
||||
./$(EXE)
|
||||
|
||||
12
src/main.s
12
src/main.s
@@ -1,18 +1,6 @@
|
||||
.global _start
|
||||
|
||||
.section .data
|
||||
msg:
|
||||
.ascii "Hello World!\n"
|
||||
len = . - msg
|
||||
|
||||
.section .text
|
||||
_start:
|
||||
mov $1, %rax
|
||||
mov $1, %rdi
|
||||
lea msg(%rip), %rsi
|
||||
mov $len, %rdx
|
||||
syscall
|
||||
|
||||
mov $60, %rax
|
||||
xor %rdi, %rdi
|
||||
syscall
|
||||
|
||||
Reference in New Issue
Block a user