From e5d7347ba3d0ccd484aab4c774a1ba6e59f640b6 Mon Sep 17 00:00:00 2001 From: laurent Date: Mon, 26 Feb 2024 03:14:30 +0000 Subject: [PATCH] Add makefile --- makefile | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 makefile diff --git a/makefile b/makefile new file mode 100644 index 0000000..ca73ad3 --- /dev/null +++ b/makefile @@ -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)