74 lines
1.2 KiB
Makefile
74 lines
1.2 KiB
Makefile
TARGET ?= forge
|
|
INSTALL_DIR ?= $(HOME)/.local/bin
|
|
TEST_ARGS ?= --frag=./shaders --frag-config=./config/shaders.cfg --tempo=30 --internal-size=480
|
|
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) --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
|
|
|