Files
forge-steel/Makefile.dev
T

77 lines
1.5 KiB
Makefile

TARGET ?= forge
INSTALL_DIR ?= $(HOME)/.local/bin
TEST_ARGS ?= --frag=./shaders --frag-config=./config/shaders.cfg --video-in=/dev/video0 --video-in=/dev/video1 --video-in=/dev/video2 --video-in=/dev/video3 --video-in=/dev/video4 --video-in=/dev/video5 --video-in=/dev/video6 --video-in=/dev/video7 --video-in=/dev/video8 --video-in=/dev/video9 --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 \
log.c/src/log.c \
-lm -lGL -lglfw -ldrm \
-Wall -Wextra \
-DGLFW_INCLUDE_NONE \
-DGLFW_EXPOSE_NATIVE_EGL \
-DGLFW_NATIVE_INCLUDE_NONE \
-DLOG_USE_COLOR \
-o build/$(TARGET) \
-g
.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 \
--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