Add makefile

This commit is contained in:
laurent 2024-02-26 03:14:30 +00:00
commit e5d7347ba3

32
makefile Normal file
View File

@ -0,0 +1,32 @@
PROGRAM = program
CC = gcc
CXX = g++
CPPFLAGS = -Wall
CXXFLAGS = -std=c++20 -O2
LDFLAGS =
LDLIBS = -lglfw -lvulkan -ldl -lpthread -lX11 -lXxf86vm -lXrandr -lXi
DEPFLAGS = -MMD -MP
# remark : I'm not really sure what DEPFLAGS stuff does...
SRCS := $(shell find src -name '*.cc')
OBJS := $(patsubst src/%.cc, build/%.o, $(SRCS))
DEPS := $(OBJS:%.o=%.d)
all: $(OBJS)
@echo === LINKING $(PROGRAM)
$(CXX) $(CXXFLAGS) -o $(PROGRAM) $(OBJS) $(LDFLAGS) $(LDLIBS)
build/%.o: src/%.cc
@echo === COMPILING $@
mkdir -p $(dir $@)
$(CXX) $(DEPFLAGS) $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $<
run: all
./$(PROGRAM)
clean:
rm -f $(OBJS) $(DEPS) $(PROGRAM)
.PHONY: run clean
-include $(DEPS)