# Compiler and flags CXX = g++ CXXFLAGS = -std=c++17 -Wall -Wextra # Source files and target executable SRCS = $(wildcard src/*.cpp) OBJS = $(SRCS:.cpp=.o) TARGET = ac # Build target all: $(TARGET) $(TARGET): $(OBJS) $(CXX) $(CXXFLAGS) -o $@ $(OBJS) # Build object files %.o: %.cpp $(CXX) $(CXXFLAGS) -c $< -o $@ # Clean up build artifacts clean: rm -f $(TARGET) $(OBJS) .PHONY: all clean