chore(AutoMake): config install
This commit is contained in:
+5
-1
@@ -1,6 +1,10 @@
|
|||||||
AUTOMAKE_OPTIONS = foreign subdir-objects -Wall
|
AUTOMAKE_OPTIONS = foreign subdir-objects -Wall
|
||||||
bin_PROGRAMS = forge
|
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_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
|
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
|
TARGET ?= forge
|
||||||
INSTALL_DIR ?= $(HOME)/.local/bin
|
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
|
SHELL := /bin/bash
|
||||||
|
|
||||||
.PHONY: build
|
.PHONY: build
|
||||||
@@ -42,24 +42,17 @@ valgrind: build
|
|||||||
--undef-value-errors=no \
|
--undef-value-errors=no \
|
||||||
./build/$(TARGET) $(TEST_ARGS)
|
./build/$(TARGET) $(TEST_ARGS)
|
||||||
|
|
||||||
.PHONY: release-%
|
.PHONY: clean-release
|
||||||
release-%: clean
|
clean-release:
|
||||||
git pull origin master
|
@rm -rf \
|
||||||
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 \
|
|
||||||
autom4te.cache \
|
autom4te.cache \
|
||||||
aclocal.m4 \
|
aclocal.m4 \
|
||||||
compile \
|
compile \
|
||||||
config.* \
|
config.* \
|
||||||
configure \
|
configure \
|
||||||
|
configure~ \
|
||||||
depcomp \
|
depcomp \
|
||||||
|
**\.deps \
|
||||||
$(TARGET) \
|
$(TARGET) \
|
||||||
$(TARGET)-*.tar.gz \
|
$(TARGET)-*.tar.gz \
|
||||||
$(TARGET)-*.pkg.tar.zst \
|
$(TARGET)-*.pkg.tar.zst \
|
||||||
@@ -69,6 +62,28 @@ release-%: clean
|
|||||||
missing \
|
missing \
|
||||||
src/.* \
|
src/.* \
|
||||||
src/*.o
|
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
|
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
|
sha256sum build/forge-steel-$*.tar.gz | cut -d' ' -f1 | xargs -I{} sed -i -E "s/sha256sums=\\('.*'\\)/sha256sums=\\('{}'\\)/g" PKGBUILD
|
||||||
git add configure.ac PKGBUILD
|
git add configure.ac PKGBUILD
|
||||||
|
|||||||
@@ -1,13 +1,14 @@
|
|||||||
pkgname=forge
|
pkgname=forge
|
||||||
pkgver=1.0.0
|
pkgver=0.0.0
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
pkgdesc="Fusion Of Real Time Generative Effects"
|
pkgdesc="Fusion Of Real Time Generative Effects"
|
||||||
arch=('i686' 'pentium4' 'x86_64' 'arm' 'armv7h' 'armv6h' 'aarch64' 'riscv64')
|
arch=('i686' 'pentium4' 'x86_64' 'arm' 'armv7h' 'armv6h' 'aarch64' 'riscv64')
|
||||||
depends=('glfw>=1:3.0', 'v4l-utils>=1.30', 'alsa-lib>=1.2.14')
|
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")
|
source=("${pkgname}-steel-${pkgver}.tar.gz::https://github.com/klemek/forge-steel/releases/download/steel-v${pkgver}/${pkgname}-steel-${pkgver}.tar.gz")
|
||||||
sha256sums=('71e2db98e1346b101d175535c30875f28eb21432f4147ecc2b40c9da3973f5fb')
|
sha256sums=('71e2db98e1346b101d175535c30875f28eb21432f4147ecc2b40c9da3973f5fb')
|
||||||
srcdir=build
|
srcdir=build
|
||||||
|
backup=("usr/share/${pkgname}")
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
cd "$srcdir/$pkgname-$pkgver"
|
cd "$srcdir/$pkgname-$pkgver"
|
||||||
|
|||||||
@@ -65,8 +65,8 @@ options:
|
|||||||
-s, --screen output screen number (default: primary)
|
-s, --screen output screen number (default: primary)
|
||||||
-m, --monitor monitor screen number (default: none)
|
-m, --monitor monitor screen number (default: none)
|
||||||
-mo, --monitor-only no output screen
|
-mo, --monitor-only no output screen
|
||||||
-f, --frag fragment shaders directory (default: TODO)
|
-f, --frag fragment shaders directory (default: /usr/share/forge/shaders)
|
||||||
-c, --config fragment shaders config file (default: TODO)
|
-c, --config fragment shaders config file (default: /usr/share/forge/default.cfg)
|
||||||
-is, --internal-size internal texture height (default: 720)
|
-is, --internal-size internal texture height (default: 720)
|
||||||
-v, --video-in path to video capture device (multiple allowed)
|
-v, --video-in path to video capture device (multiple allowed)
|
||||||
-vs, --video-size video capture desired height (default: internal texture height)
|
-vs, --video-size video capture desired height (default: internal texture height)
|
||||||
@@ -148,7 +148,7 @@ make -f Makefile.dev release-arch
|
|||||||
- [ ] Other
|
- [ ] Other
|
||||||
- [ ] Update readme with usage documentation
|
- [ ] Update readme with usage documentation
|
||||||
- [ ] Documentation in default config file
|
- [ ] 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 ?
|
- [ ] Find and fix opengl errors 0500 ?
|
||||||
- [ ] Investigate video device fps loss (bad unregister ?)
|
- [ ] Investigate video device fps loss (bad unregister ?)
|
||||||
- [ ] Bonus
|
- [ ] Bonus
|
||||||
|
|||||||
+40
-50
@@ -11,44 +11,44 @@
|
|||||||
#include "types.h"
|
#include "types.h"
|
||||||
|
|
||||||
static void print_help(int status_code) {
|
static void print_help(int status_code) {
|
||||||
puts(
|
puts(PACKAGE
|
||||||
PACKAGE
|
" " VERSION "\n\n"
|
||||||
" " VERSION "\n\n"
|
"usage: " PACKAGE " "
|
||||||
"usage: " PACKAGE " "
|
"[-h] "
|
||||||
"[-h] "
|
"[-v] "
|
||||||
"[-v] "
|
"[-hr] "
|
||||||
"[-hr] "
|
"[-s=SCREEN] "
|
||||||
"[-s=SCREEN] "
|
"[-m=SCREEN] "
|
||||||
"[-m=SCREEN] "
|
"[-mo] "
|
||||||
"[-mo] "
|
"[-f=DIR_PATH] "
|
||||||
"[-f=DIR_PATH] "
|
"[-c=CFG_PATH] "
|
||||||
"[-c=CFG_PATH] "
|
"[-is=SIZE] "
|
||||||
"[-is=SIZE] "
|
"[-v=FILE] "
|
||||||
"[-v=FILE] "
|
"[-vs=SIZE] "
|
||||||
"[-vs=SIZE] "
|
"[-t=TEMPO] "
|
||||||
"[-t=TEMPO] "
|
"[--demo] "
|
||||||
"[--demo] "
|
"[-w] "
|
||||||
"[-w] "
|
"\n\n"
|
||||||
"\n\n"
|
"Fusion Of Real-time Generative Effects.\n\n"
|
||||||
"Fusion Of Real-time Generative Effects.\n\n"
|
"options:\n"
|
||||||
"options:\n"
|
" -h, --help show this help message and exit\n"
|
||||||
" -h, --help show this help message and exit\n"
|
" -v, --version print version\n"
|
||||||
" -v, --version print version\n"
|
" -hr, --hot-reload hot reload of shaders scripts\n"
|
||||||
" -hr, --hot-reload hot reload of shaders scripts\n"
|
" -s, --screen output screen number (default: primary)\n"
|
||||||
" -s, --screen output screen number (default: primary)\n"
|
" -m, --monitor monitor screen number (default: none)\n"
|
||||||
" -m, --monitor monitor screen number (default: none)\n"
|
" -mo, --monitor-only no output screen\n"
|
||||||
" -mo, --monitor-only no output screen\n"
|
" -f, --frag fragment shaders directory "
|
||||||
" -f, --frag fragment shaders directory (default: TODO)\n"
|
"(default: " DATADIR "/shaders)\n"
|
||||||
" -c, --config fragment shaders config file (default: "
|
" -c, --config fragment shaders config file "
|
||||||
"TODO)\n"
|
"(default: " DATADIR "/default.cfg)\n"
|
||||||
" -is, --internal-size internal texture height (default: 720)\n"
|
" -is, --internal-size internal texture height (default: 720)\n"
|
||||||
" -v, --video-in path to video capture device (multiple "
|
" -v, --video-in path to video capture device (multiple "
|
||||||
"allowed)\n"
|
"allowed)\n"
|
||||||
" -vs, --video-size video capture desired height (default: "
|
" -vs, --video-size video capture desired height (default: "
|
||||||
"internal texture height)\n"
|
"internal texture height)\n"
|
||||||
" -t, --tempo base tempo (default: 60)\n"
|
" -t, --tempo base tempo (default: 60)\n"
|
||||||
" --demo demonstration mode\n"
|
" --demo demonstration mode\n"
|
||||||
" -w, --windowed not fullscreen\n");
|
" -w, --windowed not fullscreen\n");
|
||||||
exit(status_code);
|
exit(status_code);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -91,8 +91,8 @@ Parameters args_parse(int argc, char **argv) {
|
|||||||
params.output_screen = 0;
|
params.output_screen = 0;
|
||||||
params.monitor = false;
|
params.monitor = false;
|
||||||
params.monitor_screen = 0;
|
params.monitor_screen = 0;
|
||||||
params.frag_path = 0;
|
params.frag_path = DATADIR "/shaders";
|
||||||
params.config_path = 0;
|
params.config_path = DATADIR "/default.cfg";
|
||||||
params.internal_size = 720;
|
params.internal_size = 720;
|
||||||
params.video_size = 0;
|
params.video_size = 0;
|
||||||
params.base_tempo = 60.0f;
|
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 &&
|
if (params.monitor && params.output &&
|
||||||
params.monitor_screen == params.output_screen && !params.windowed) {
|
params.monitor_screen == params.output_screen && !params.windowed) {
|
||||||
log_error("monitor screen cannot be the same as output screen");
|
log_error("monitor screen cannot be the same as output screen");
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (params.frag_path == 0) {
|
|
||||||
log_error("required argument -fc/--frag-config");
|
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (params.video_size == 0) {
|
if (params.video_size == 0) {
|
||||||
params.video_size = params.internal_size;
|
params.video_size = params.internal_size;
|
||||||
}
|
}
|
||||||
|
|||||||
+6
-2
@@ -5,11 +5,15 @@
|
|||||||
|
|
||||||
#ifndef PACKAGE
|
#ifndef PACKAGE
|
||||||
#define PACKAGE "forge"
|
#define PACKAGE "forge"
|
||||||
#endif /* PACKAGE */
|
#endif
|
||||||
|
|
||||||
#ifndef VERSION
|
#ifndef VERSION
|
||||||
#define VERSION "steel-dev"
|
#define VERSION "steel-dev"
|
||||||
#endif /* VERSION */
|
#endif
|
||||||
|
|
||||||
|
#ifndef DATADIR
|
||||||
|
#define DATADIR "."
|
||||||
|
#endif
|
||||||
|
|
||||||
/* TYPES */
|
/* TYPES */
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user