From e92da05ceebffa2ef8c906c7f49e13ca5bc90a32 Mon Sep 17 00:00:00 2001 From: hachem Date: Fri, 5 Dec 2025 16:27:48 +0100 Subject: [solve]: day1 part 1 --- Makefile | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 Makefile (limited to 'Makefile') 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) -- cgit v1.3