Files
forge-steel/Makefile.dev
T
2025-09-21 11:47:46 +02:00

74 lines
1.2 KiB
Makefile

TARGET ?= forge
INSTALL_DIR ?= $(HOME)/.local/bin
TEST_ARGS ?= --frag=./shaders --frag-config=./config/shaders.cfg --tempo=30
SHELL := /bin/bash
.PHONY: build
clean:
@rm -rf build
build:
@mkdir -p build
gcc \
src/*.h src/*.c \
-Iinclude \
hashmap.c/hashmap.c \
-lm -lGL -lglfw \
-Wall -Wextra \
-DGLFW_INCLUDE_NONE \
-o build/$(TARGET)
.PHONY: run
run: build
./build/$(TARGET) $(TEST_ARGS) --monitor-only --internal-size=240 --hot-reload
.PHONY: demo
demo: build
./build/$(TARGET) $(TEST_ARGS) --demo
.PHONY: install
install: build
cp -f build/$(TARGET) $(INSTALL_DIR)/$(TARGET)
.PHONY: valgrind
valgrind: build
valgrind \
--leak-check=full \
--track-fds=all \
--show-realloc-size-zero=no \
--undef-value-errors=no \
./build/$(TARGET) $(TEST_ARGS)
.PHONY: release
release: clean
aclocal
autoconf
automake --add-missing
./configure
make distcheck
mkdir -p build
cp $(TARGET)-*.tar.gz build/
@rm -rf \
autom4te.cache \
aclocal.m4 \
compile \
config.* \
configure \
depcomp \
$(TARGET) \
$(TARGET)-*.tar.gz \
$(TARGET)-*.pkg.tar.zst \
install-sh \
Makefile \
Makefile.in \
missing \
src/.* \
src/*.o \
.PHONY: release-arch
release-arch: clean
mkdir -p build
cp PKGBUILD build
cd build && makepkg