47 lines
914 B
Makefile
47 lines
914 B
Makefile
CC=g++
|
|
C_FLAGS=-g -Wall -Wextra -O0 -Wno-unused-function
|
|
#C_FLAGS=-Wall -Wextra -O3 -Wno-unused-function
|
|
VAL_FLAGS=--leak-check=full --show-leak-kinds=all --track-origins=yes -s
|
|
|
|
DIR_SRC=src
|
|
DIR_INC=include
|
|
DIR_BUILD=build
|
|
DEPS=SDL3
|
|
|
|
OUTBIN=$(DIR_BUILD)/bin/main
|
|
|
|
SRCS=$(shell find $(DIR_SRC)/ -type f -name '*.cpp')
|
|
OBJS=$(patsubst $(DIR_SRC)/%.cpp,$(DIR_BUILD)/obj/%.o,$(SRCS))
|
|
|
|
DEPS_EXT=$(patsubst %,-l%,$(DEPS))
|
|
INCS_EXT=$(patsubst %,-I%,$(DIR_INC))
|
|
|
|
|
|
.PHONY: all build run dbg val clean test clean-tests
|
|
|
|
|
|
all: build
|
|
build: $(OUTBIN)
|
|
rebuild: clean .WAIT build
|
|
|
|
|
|
run: $(OUTBIN)
|
|
./i3bgwin $(OUTBIN) {windowid}
|
|
|
|
$(OUTBIN): $(OBJS)
|
|
@mkdir -p $(@D)
|
|
$(CC) $(OBJS) $(DEPS_EXT) -o $@
|
|
|
|
$(DIR_BUILD)/obj/%.o: $(DIR_SRC)/%.cpp
|
|
@mkdir -p $(@D)
|
|
$(CC) $(C_FLAGS) $(INCS_EXT) -c $< -o $@
|
|
|
|
dbg: $(DBG_BIN)
|
|
gdb $(GDB_FLAGS) ./$(OUTBIN)
|
|
|
|
val: $(DBG_BIN)
|
|
valgrind $(VAL_FLAGS) ./$(OUTBIN)
|
|
|
|
clean:
|
|
$(RM) -r $(DIR_BUILD)
|