advent2024

Advent of Code 2024
git clone git://bsandro.tech/advent2024
Log | Files | Refs

Makefile (579B)


      1 NAME:=$(shell basename ${PWD})
      2 UNAME_S:=$(shell uname -s)
      3 SRC:=$(wildcard *.cpp)
      4 DEPS:=$(wildcard *.hpp)
      5 OBJ:=$(SRC:.cpp=.o)
      6 CXXSTD:=c++23
      7 ifeq (${UNAME_S},OpenBSD)
      8 CXXSTD=c++2b
      9 endif
     10 $(info Using ${CXXSTD} on ${UNAME_S})
     11 CXXFLAGS=-O2 -std=${CXXSTD} -Werror -Wall -Wextra -I. -I../include
     12 LDFLAGS=-lstdc++
     13 
     14 all: $(NAME)
     15 
     16 .PHONY: clean run
     17 
     18 clean:
     19 	rm -f $(OBJ) $(NAME)
     20 
     21 %.o : %.c $(DEPS)
     22 	@$(CC) $(CFLAGS) -c $< -o $@
     23 
     24 $(NAME): $(OBJ)
     25 	@$(CC) $(OBJ) -o $@ $(LDFLAGS)
     26 
     27 run: $(NAME)
     28 	@./$(NAME) input.txt
     29 
     30 test1: $(NAME)
     31 	@./$(NAME) test1.txt
     32 
     33 test2: $(NAME)
     34 	@./$(NAME) test2.txt