Implemented basic command-line options

This commit is contained in:
AnnaSnoeijs 2025-06-06 21:31:59 +02:00
parent 197445de70
commit 92f4057583
3 changed files with 76 additions and 12 deletions

View file

@ -1,5 +1,6 @@
#!/usr/bin/make -f
FLAGS = -O3
FLAGS = -std=gnu23
FLAGS += -O3
FLAGS += -pedantic
FLAGS += -Wall
FLAGS += -Wextra
@ -8,8 +9,6 @@ FLAGS += -Werror
OBJDIR = obj
OUTDIR = out
OBJ = $(SRC:%.c=$(OBJDIR)/%.o)
#UI_TARGET = vt100
UI_TARGET = ncurses
@ -31,16 +30,21 @@ run: $(OUTDIR)/connect4_$(UI_TARGET).elf
run_%: $(OUTDIR)/connect4_%.elf
./$<
$(OUTDIR)/connect4_ncurses.elf: $(addprefix $(OBJDIR)/,ui_ncurses.o logic.o connect4.o)
$(OUTDIR)/connect4_ncurses.elf: $(addprefix $(OBJDIR)/,ui_ncurses.o logic.o connect4.o LICENSE.o)
@echo $(MSG_LINKING) $@
@mkdir -p $(@D)
$(CC) $(FLAGS) -lncursesw -o $@ $^
$(OUTDIR)/connect4_%.elf: $(addprefix $(OBJDIR)/,ui_%.o logic.o connect4.o)
$(OUTDIR)/connect4_%.elf: $(addprefix $(OBJDIR)/,ui_%.o logic.o connect4.o LICENSE.o)
@echo $(MSG_LINKING) $@
@mkdir -p $(@D)
$(CC) $(FLAGS) -o $@ $^
$(OBJDIR)/LICENSE.o: LICENSE
@echo $(MSG_LINKING) $@
@mkdir -p $(@D)
ld -r -b binary -o $@ $^
$(OBJDIR)/%.o: %.c
@echo $(MSG_COMPILING) $^
@mkdir -p $(@D)