Files
dxdesktop/makefile

49 lines
894 B
Makefile

CC=g++
C_FLAGS=-g -Wall -Wextra -O0 -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}
runn: $(OUTBIN)
$(OUTBIN)
$(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)