77 lines
1.5 KiB
Makefile
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
|
|
|