diff options
| author | hachem <im@hachem.wtf> | 2025-12-05 16:27:48 +0100 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2025-12-05 16:27:48 +0100 |
| commit | e92da05ceebffa2ef8c906c7f49e13ca5bc90a32 (patch) | |
| tree | d19b4f1baa3965318e6db1bda4634bd907093935 /Makefile | |
| parent | aa41e4d289b997e48b333818707376a4469c47ca (diff) | |
[solve]: day1 part 1
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..5ca8b92 --- /dev/null +++ b/Makefile @@ -0,0 +1,38 @@ +NASM ?= nasm +LD ?= ld + +SRC_DIR := src +BUILD_DIR := build + +NASMFLAGS ?= -f elf32 -g -F dwarf +LDFLAGS ?= -m elf_i386 + +DAYS := Day1 Day2 Day3 Day4 +ASM_SRCS := $(addprefix $(SRC_DIR)/,$(addsuffix .asm,$(DAYS))) +OBJ_FILES := $(addprefix $(BUILD_DIR)/,$(addsuffix .o,$(DAYS))) +BINARIES := $(addprefix $(BUILD_DIR)/,$(DAYS)) + +.PHONY: all clean day1 list run-day% + +all: $(BINARIES) + +$(BUILD_DIR): + @mkdir -p $(BUILD_DIR) + +$(BUILD_DIR)/Day%.o: $(SRC_DIR)/Day%.asm | $(BUILD_DIR) + $(NASM) $(NASMFLAGS) $< -o $@ + +$(BUILD_DIR)/Day%: $(BUILD_DIR)/Day%.o + $(LD) $(LDFLAGS) -o $@ $< + +day1: $(BUILD_DIR)/Day1 + +run-day%: $(BUILD_DIR)/Day% + ./$(BUILD_DIR)/Day$* + +list: + @printf "Available days:\n" + @for day in $(DAYS); do echo " $$day"; done + +clean: + rm -rf $(BUILD_DIR) |
