chore(AutoMake): config install
This commit is contained in:
+6
-2
@@ -1,6 +1,10 @@
|
||||
AUTOMAKE_OPTIONS = foreign subdir-objects -Wall
|
||||
bin_PROGRAMS = forge
|
||||
forge_SOURCES = src/main.c src/args.c src/forge.c src/file.c src/window.c src/shaders.c src/timer.c src/string.c src/config_file.c src/rand.c src/video.c src/shared.c src/midi.c src/state.c src/arr.c src/tempo.c $(top_srcdir)/include/glad/gl.h $(top_srcdir)/include/glad/egl.h $(top_srcdir)/hashmap.c/hashmap.c $(top_srcdir)/log.c/src/log.c
|
||||
forge_CFLAGS = -Ofast -march=native -flto -funroll-loops -fprefetch-loop-arrays -fno-exceptions -fopenmp -I$(top_srcdir)/include -DGLFW_INCLUDE_NONE -DGLFW_EXPOSE_NATIVE_EGL -DGLFW_NATIVE_INCLUDE_NONE -DLOG_USE_COLOR
|
||||
forge_CFLAGS = -Ofast -march=native -flto -funroll-loops -fprefetch-loop-arrays -fno-exceptions -fopenmp -I$(top_srcdir)/include -DGLFW_INCLUDE_NONE -DGLFW_EXPOSE_NATIVE_EGL -DGLFW_NATIVE_INCLUDE_NONE -DLOG_USE_COLOR -DDATADIR=\"$(datadir)/$(PACKAGE)\"
|
||||
forge_LDADD = -lm -lGL -lglfw -lasound
|
||||
include_HEADERS = src/main.h src/args.h src/config.h src/types.h src/forge.h src/file.h src/constants.h src/window.h src/shaders.h src/timer.h src/string.h src/config_file.h src/rand.h src/video.h src/shared.h src/midi.h src/state.h src/arr.h src/tempo.h $(top_srcdir)/include/glad/gl.h $(top_srcdir)/include/glad/egl.h $(top_srcdir)/include/linmath.h $(top_srcdir)/include/hashmap.h $(top_srcdir)/include/log.h
|
||||
include_HEADERS = src/main.h src/args.h src/config.h src/types.h src/forge.h src/file.h src/constants.h src/window.h src/shaders.h src/timer.h src/string.h src/config_file.h src/rand.h src/video.h src/shared.h src/midi.h src/state.h src/arr.h src/tempo.h $(top_srcdir)/include/glad/gl.h $(top_srcdir)/include/glad/egl.h $(top_srcdir)/include/linmath.h $(top_srcdir)/include/hashmap.h $(top_srcdir)/include/log.h
|
||||
|
||||
EXTRA_DIST = default.cfg shaders/frag0.glsl shaders/frag1.glsl shaders/frag2.glsl shaders/frag3.glsl shaders/frag4.glsl shaders/frag5.glsl shaders/frag6.glsl shaders/frag7.glsl shaders/frag8.glsl shaders/frag9.glsl shaders/frag10.glsl
|
||||
confdir = $(prefix)/share/$(PACKAGE)
|
||||
conf_DATA = default.cfg shaders/frag0.glsl shaders/frag1.glsl shaders/frag2.glsl shaders/frag3.glsl shaders/frag4.glsl shaders/frag5.glsl shaders/frag6.glsl shaders/frag7.glsl shaders/frag8.glsl shaders/frag9.glsl shaders/frag10.glsl
|
||||
+28
-13
@@ -1,6 +1,6 @@
|
||||
TARGET ?= forge
|
||||
INSTALL_DIR ?= $(HOME)/.local/bin
|
||||
TEST_ARGS ?= --frag=./shaders --config=./config/forge.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
|
||||
TEST_ARGS ?= --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
|
||||
SHELL := /bin/bash
|
||||
|
||||
.PHONY: build
|
||||
@@ -42,24 +42,17 @@ valgrind: build
|
||||
--undef-value-errors=no \
|
||||
./build/$(TARGET) $(TEST_ARGS)
|
||||
|
||||
.PHONY: release-%
|
||||
release-%: clean
|
||||
git pull origin master
|
||||
sed -i -E "s/[0-9]+\\.[0-9]+\\.[0-9]+/$*/g" configure.ac
|
||||
aclocal
|
||||
autoconf
|
||||
automake --add-missing
|
||||
./configure
|
||||
make distcheck
|
||||
mkdir -p build
|
||||
cp "$(TARGET)-steel-$*.tar.gz" build/
|
||||
@rm -rf \
|
||||
.PHONY: clean-release
|
||||
clean-release:
|
||||
@rm -rf \
|
||||
autom4te.cache \
|
||||
aclocal.m4 \
|
||||
compile \
|
||||
config.* \
|
||||
configure \
|
||||
configure~ \
|
||||
depcomp \
|
||||
**\.deps \
|
||||
$(TARGET) \
|
||||
$(TARGET)-*.tar.gz \
|
||||
$(TARGET)-*.pkg.tar.zst \
|
||||
@@ -69,6 +62,28 @@ release-%: clean
|
||||
missing \
|
||||
src/.* \
|
||||
src/*.o
|
||||
|
||||
.PHONY: test-release
|
||||
test-release: clean clean-release
|
||||
aclocal
|
||||
autoconf
|
||||
automake --add-missing
|
||||
./configure
|
||||
make distcheck
|
||||
mkdir -p build
|
||||
cp "$(TARGET)-steel-*.tar.gz" build/
|
||||
|
||||
.PHONY: release-%
|
||||
release-%: clean clean-release
|
||||
git pull origin master
|
||||
sed -i -E "s/[0-9]+\\.[0-9]+\\.[0-9]+/$*/g" configure.ac
|
||||
aclocal
|
||||
autoconf
|
||||
automake --add-missing
|
||||
./configure
|
||||
make distcheck
|
||||
mkdir -p build
|
||||
cp "$(TARGET)-steel-$*.tar.gz" build/
|
||||
sed -i -E "s/pkgver=[0-9]+\\.[0-9]+\\.[0-9]+/pkgver=$*/g" PKGBUILD
|
||||
sha256sum build/forge-steel-$*.tar.gz | cut -d' ' -f1 | xargs -I{} sed -i -E "s/sha256sums=\\('.*'\\)/sha256sums=\\('{}'\\)/g" PKGBUILD
|
||||
git add configure.ac PKGBUILD
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
pkgname=forge
|
||||
pkgver=1.0.0
|
||||
pkgver=0.0.0
|
||||
pkgrel=1
|
||||
pkgdesc="Fusion Of Real Time Generative Effects"
|
||||
arch=('i686' 'pentium4' 'x86_64' 'arm' 'armv7h' 'armv6h' 'aarch64' 'riscv64')
|
||||
depends=('glfw>=1:3.0', 'v4l-utils>=1.30', 'alsa-lib>=1.2.14')
|
||||
url="https://github.com/klemek/forge"
|
||||
url="https://github.com/klemek/forge-steel"
|
||||
source=("${pkgname}-steel-${pkgver}.tar.gz::https://github.com/klemek/forge-steel/releases/download/steel-v${pkgver}/${pkgname}-steel-${pkgver}.tar.gz")
|
||||
sha256sums=('71e2db98e1346b101d175535c30875f28eb21432f4147ecc2b40c9da3973f5fb')
|
||||
srcdir=build
|
||||
backup=("usr/share/${pkgname}")
|
||||
|
||||
build() {
|
||||
cd "$srcdir/$pkgname-$pkgver"
|
||||
|
||||
@@ -65,8 +65,8 @@ options:
|
||||
-s, --screen output screen number (default: primary)
|
||||
-m, --monitor monitor screen number (default: none)
|
||||
-mo, --monitor-only no output screen
|
||||
-f, --frag fragment shaders directory (default: TODO)
|
||||
-c, --config fragment shaders config file (default: TODO)
|
||||
-f, --frag fragment shaders directory (default: /usr/share/forge/shaders)
|
||||
-c, --config fragment shaders config file (default: /usr/share/forge/default.cfg)
|
||||
-is, --internal-size internal texture height (default: 720)
|
||||
-v, --video-in path to video capture device (multiple allowed)
|
||||
-vs, --video-size video capture desired height (default: internal texture height)
|
||||
@@ -148,7 +148,7 @@ make -f Makefile.dev release-arch
|
||||
- [ ] Other
|
||||
- [ ] Update readme with usage documentation
|
||||
- [ ] Documentation in default config file
|
||||
- [ ] Clone "shaders" and config in system path at setup
|
||||
- [x] Clone "shaders" and config in system path at setup
|
||||
- [ ] Find and fix opengl errors 0500 ?
|
||||
- [ ] Investigate video device fps loss (bad unregister ?)
|
||||
- [ ] Bonus
|
||||
|
||||
+40
-50
@@ -11,44 +11,44 @@
|
||||
#include "types.h"
|
||||
|
||||
static void print_help(int status_code) {
|
||||
puts(
|
||||
PACKAGE
|
||||
" " VERSION "\n\n"
|
||||
"usage: " PACKAGE " "
|
||||
"[-h] "
|
||||
"[-v] "
|
||||
"[-hr] "
|
||||
"[-s=SCREEN] "
|
||||
"[-m=SCREEN] "
|
||||
"[-mo] "
|
||||
"[-f=DIR_PATH] "
|
||||
"[-c=CFG_PATH] "
|
||||
"[-is=SIZE] "
|
||||
"[-v=FILE] "
|
||||
"[-vs=SIZE] "
|
||||
"[-t=TEMPO] "
|
||||
"[--demo] "
|
||||
"[-w] "
|
||||
"\n\n"
|
||||
"Fusion Of Real-time Generative Effects.\n\n"
|
||||
"options:\n"
|
||||
" -h, --help show this help message and exit\n"
|
||||
" -v, --version print version\n"
|
||||
" -hr, --hot-reload hot reload of shaders scripts\n"
|
||||
" -s, --screen output screen number (default: primary)\n"
|
||||
" -m, --monitor monitor screen number (default: none)\n"
|
||||
" -mo, --monitor-only no output screen\n"
|
||||
" -f, --frag fragment shaders directory (default: TODO)\n"
|
||||
" -c, --config fragment shaders config file (default: "
|
||||
"TODO)\n"
|
||||
" -is, --internal-size internal texture height (default: 720)\n"
|
||||
" -v, --video-in path to video capture device (multiple "
|
||||
"allowed)\n"
|
||||
" -vs, --video-size video capture desired height (default: "
|
||||
"internal texture height)\n"
|
||||
" -t, --tempo base tempo (default: 60)\n"
|
||||
" --demo demonstration mode\n"
|
||||
" -w, --windowed not fullscreen\n");
|
||||
puts(PACKAGE
|
||||
" " VERSION "\n\n"
|
||||
"usage: " PACKAGE " "
|
||||
"[-h] "
|
||||
"[-v] "
|
||||
"[-hr] "
|
||||
"[-s=SCREEN] "
|
||||
"[-m=SCREEN] "
|
||||
"[-mo] "
|
||||
"[-f=DIR_PATH] "
|
||||
"[-c=CFG_PATH] "
|
||||
"[-is=SIZE] "
|
||||
"[-v=FILE] "
|
||||
"[-vs=SIZE] "
|
||||
"[-t=TEMPO] "
|
||||
"[--demo] "
|
||||
"[-w] "
|
||||
"\n\n"
|
||||
"Fusion Of Real-time Generative Effects.\n\n"
|
||||
"options:\n"
|
||||
" -h, --help show this help message and exit\n"
|
||||
" -v, --version print version\n"
|
||||
" -hr, --hot-reload hot reload of shaders scripts\n"
|
||||
" -s, --screen output screen number (default: primary)\n"
|
||||
" -m, --monitor monitor screen number (default: none)\n"
|
||||
" -mo, --monitor-only no output screen\n"
|
||||
" -f, --frag fragment shaders directory "
|
||||
"(default: " DATADIR "/shaders)\n"
|
||||
" -c, --config fragment shaders config file "
|
||||
"(default: " DATADIR "/default.cfg)\n"
|
||||
" -is, --internal-size internal texture height (default: 720)\n"
|
||||
" -v, --video-in path to video capture device (multiple "
|
||||
"allowed)\n"
|
||||
" -vs, --video-size video capture desired height (default: "
|
||||
"internal texture height)\n"
|
||||
" -t, --tempo base tempo (default: 60)\n"
|
||||
" --demo demonstration mode\n"
|
||||
" -w, --windowed not fullscreen\n");
|
||||
exit(status_code);
|
||||
}
|
||||
|
||||
@@ -91,8 +91,8 @@ Parameters args_parse(int argc, char **argv) {
|
||||
params.output_screen = 0;
|
||||
params.monitor = false;
|
||||
params.monitor_screen = 0;
|
||||
params.frag_path = 0;
|
||||
params.config_path = 0;
|
||||
params.frag_path = DATADIR "/shaders";
|
||||
params.config_path = DATADIR "/default.cfg";
|
||||
params.internal_size = 720;
|
||||
params.video_size = 0;
|
||||
params.base_tempo = 60.0f;
|
||||
@@ -150,22 +150,12 @@ Parameters args_parse(int argc, char **argv) {
|
||||
}
|
||||
}
|
||||
|
||||
if (params.frag_path == 0) {
|
||||
log_error("required argument -f/--frag");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
if (params.monitor && params.output &&
|
||||
params.monitor_screen == params.output_screen && !params.windowed) {
|
||||
log_error("monitor screen cannot be the same as output screen");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
if (params.frag_path == 0) {
|
||||
log_error("required argument -fc/--frag-config");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
if (params.video_size == 0) {
|
||||
params.video_size = params.internal_size;
|
||||
}
|
||||
|
||||
+6
-2
@@ -5,11 +5,15 @@
|
||||
|
||||
#ifndef PACKAGE
|
||||
#define PACKAGE "forge"
|
||||
#endif /* PACKAGE */
|
||||
#endif
|
||||
|
||||
#ifndef VERSION
|
||||
#define VERSION "steel-dev"
|
||||
#endif /* VERSION */
|
||||
#endif
|
||||
|
||||
#ifndef DATADIR
|
||||
#define DATADIR "."
|
||||
#endif
|
||||
|
||||
/* TYPES */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user