diff --git a/config.subr b/config.subr
index 0298559..fa2a3ab 100644
--- a/config.subr
+++ b/config.subr
@@ -1,13 +1,11 @@
#!/bin/sh
+VER=0.4
+
lo_rule() {
$CC $CPPFLAGS -M "$1" | sed -e 's/[.]o:/.lo:/'
}
-la_rule() {
- $CC $CPPFLAGS -M "$1" | sed -e 's/[.]o:/.la:/'
-}
-
prog_rule() {
$CC $CPPFLAGS -M "$1" | sed -e 's/[.]o:/:/'
}
@@ -28,6 +26,13 @@ c2la() {
echo "$@" | sed -e 's/[.]c$/.la/' -e 's/[.]c /.la /g'
}
+require_pkg_config() {
+ if ! which pkg-config >/dev/null; then
+ echo "please install pkg-config" >&2
+ exit 1
+ fi
+}
+
CONFIG_MK=config.mk
echo "# config.mk generated by configure" > ${CONFIG_MK}
diff --git a/lib/Makefile b/lib/Makefile
index 7c7bb63..4105a1e 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -1,11 +1,12 @@
CLEANFILES =
-RTBUF_MODULES =
-all: rtbuf_modules
+all: types libraries subdirs
-clean:
+clean: subdirs-clean
rm -rf .libs *.o *.lo *.la ${CLEANFILES}
-.PHONY: all clean rtbuf_modules
+install: subdirs-install
+
+.PHONY: all clean libraries subdirs subdirs-clean subdirs-install
.include <config.mk>
diff --git a/lib/configure b/lib/configure
index bc8fbcd..70c6709 100755
--- a/lib/configure
+++ b/lib/configure
@@ -7,6 +7,8 @@ TYPE_SOURCES="$(ls *_type.c | tr '\n' ' ')"
SOURCES="$(ls *.c | grep -Ev '_type.c$' | tr '\n' ' ')"
+DIRS="$(ls -d */)"
+
if test -d /usr/local/include; then
CPPFLAGS="-I/usr/local/include"
fi
@@ -24,12 +26,18 @@ echo "CFLAGS = $CFLAGS" >> ${CONFIG_MK}
LDFLAGS=""
echo "LDFLAGS = $LDFLAGS" >> ${CONFIG_MK}
+TYPES=
+
for TYPE_SRC in $TYPE_SOURCES; do
TYPE_PROG="$(c2prog "$TYPE_SRC")"
TYPE_H="${TYPE_PROG}.h"
+ TYPES="$TYPES $TYPE_H"
echo > "$TYPE_H"
done
+echo >> ${CONFIG_MK}
+echo "types:${TYPES}" >> ${CONFIG_MK}
+
for TYPE_SRC in $TYPE_SOURCES; do
TYPE_PROG="$(c2prog "$TYPE_SRC")"
TYPE_H="${TYPE_PROG}.h"
@@ -46,7 +54,7 @@ done
LIBDIR=/usr/local/lib
echo "LIBDIR = $LIBDIR" >> ${CONFIG_MK}
-RTBUF_MODULES=
+LIBRARIES=
for SRC in $SOURCES; do
SRC_LO="$(c2lo "$SRC")"
@@ -58,11 +66,31 @@ for SRC in $SOURCES; do
echo >> ${CONFIG_MK}
echo "$SRC_LA: $SRC_LO" >> ${CONFIG_MK}
echo "\t${LIBTOOL} --tag=CC --mode=link \${CC} -shared \${LDFLAGS} $SRC_LO -o $SRC_LA -rpath $LIBDIR" >> ${CONFIG_MK}
- echo >> ${CONFIG_MK}
- RTBUF_MODULES="$RTBUF_MODULES $SRC_LA"
+ LIBRARIES="$LIBRARIES $SRC_LA"
+done
+
+echo >> ${CONFIG_MK}
+echo "libraries:${LIBRARIES}" >> ${CONFIG_MK}
+
+echo >> ${CONFIG_MK}
+echo "subdirs:" >> ${CONFIG_MK}
+for DIR in $DIRS; do
+ echo "\t\${MAKE} -C $DIR" >> ${CONFIG_MK}
done
-echo "rtbuf_modules:${RTBUF_MODULES}" >> ${CONFIG_MK}
+echo >> ${CONFIG_MK}
+echo "subdirs-clean:" >> ${CONFIG_MK}
+for DIR in $DIRS; do
+ echo "\t\${MAKE} -C $DIR clean" >> ${CONFIG_MK}
+done
+
+echo >> ${CONFIG_MK}
+echo "subdirs-install:" >> ${CONFIG_MK}
+for DIR in $DIRS; do
+ echo "\t\${MAKE} -C $DIR install" >> ${CONFIG_MK}
+ echo $PWD/$DIR
+ (cd $DIR && ./configure)
+done
for TYPE_SRC in $TYPE_SOURCES; do
TYPE_PROG="$(c2prog "$TYPE_SRC")"
diff --git a/lib/dynamic.h b/lib/dynamic.h
index f3e71e2..238bc89 100644
--- a/lib/dynamic.h
+++ b/lib/dynamic.h
@@ -1,5 +1,5 @@
/*
- * Copyright 2018 Thomas de Grivel <thoxdg@gmail.com> +33614550127
+ * Copyright 2018-2021 Thomas de Grivel <thoxdg@gmail.com>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -16,7 +16,7 @@
#ifndef RTBUF_DYNAMIC_H
#define RTBUF_DYNAMIC_H
-#include <rtbuf/signal.h>
+#include "signal.h"
enum {
RTBUF_DYNAMIC_LIMITER_IN_SIGNAL = 0,
diff --git a/lib/dynamic/Makefile b/lib/dynamic/Makefile
new file mode 100644
index 0000000..7495f63
--- /dev/null
+++ b/lib/dynamic/Makefile
@@ -0,0 +1,8 @@
+all: libraries
+
+clean:
+ rm -rf .libs *.o *.lo *.la
+
+.PHONY: all clean libraries
+
+.include <config.mk>
diff --git a/lib/dynamic/Makefile.am b/lib/dynamic/Makefile.am
deleted file mode 100644
index a2753fc..0000000
--- a/lib/dynamic/Makefile.am
+++ /dev/null
@@ -1,9 +0,0 @@
-CLEANFILES =
-rtbuf_includedir = $(includedir)/rtbuf/dynamic
-rtbuf_include_HEADERS =
-rtbuf_libdir = $(libdir)/rtbuf/dynamic
-rtbuf_lib_LTLIBRARIES =
-
-rtbuf_lib_LTLIBRARIES += limiter.la
-limiter_la_LDFLAGS = -no-undefined -module -shared
-limiter_la_LIBADD = ../librtbuf_signal.la
diff --git a/lib/dynamic/configure b/lib/dynamic/configure
new file mode 100755
index 0000000..c9b888a
--- /dev/null
+++ b/lib/dynamic/configure
@@ -0,0 +1,44 @@
+#!/bin/sh
+set -e
+
+. ../../config.subr
+
+SOURCES="$(ls *.c | tr '\n' ' ')"
+
+if test -d /usr/local/include; then
+ CPPFLAGS="-I/usr/local/include"
+fi
+CPPFLAGS="$CPPFLAGS"
+echo "CPPFLAGS = $CPPFLAGS" >> ${CONFIG_MK}
+
+if [ x"$DEBUG" = x"yes" ]; then
+ CFLAGS="-DDEBUG -O0 -ggdb"
+else
+ CFLAGS="-DNDEBUG -O3"
+fi
+CFLAGS="$CFLAGS -W -Wall -Werror -std=c89 -pedantic"
+echo "CFLAGS = $CFLAGS" >> ${CONFIG_MK}
+
+LDFLAGS=""
+echo "LDFLAGS = $LDFLAGS" >> ${CONFIG_MK}
+
+LIBDIR=/usr/local/lib/rtbuf/$VER/dynamic
+echo "LIBDIR = $LIBDIR" >> ${CONFIG_MK}
+
+LIBRARIES=
+
+for SRC in $SOURCES; do
+ SRC_LO="$(c2lo "$SRC")"
+ echo >> ${CONFIG_MK}
+ lo_rule "$SRC" >> ${CONFIG_MK}
+ echo "\t${LIBTOOL} --tag=CC --mode=compile \${CC} \${CPPFLAGS} \${CFLAGS} -c $SRC -o $SRC_LO" >> ${CONFIG_MK}
+
+ SRC_LA="$(c2la "$SRC")"
+ echo >> ${CONFIG_MK}
+ echo "$SRC_LA: $SRC_LO" >> ${CONFIG_MK}
+ echo "\t${LIBTOOL} --tag=CC --mode=link \${CC} -no-undefined -module \${LDFLAGS} $SRC_LO -o $SRC_LA -rpath $LIBDIR" >> ${CONFIG_MK}
+ LIBRARIES="$LIBRARIES $SRC_LA"
+done
+
+echo >> ${CONFIG_MK}
+echo "libraries:${LIBRARIES}" >> ${CONFIG_MK}
diff --git a/lib/glfw3.h b/lib/glfw3.h
index a2199bc..fb460ff 100644
--- a/lib/glfw3.h
+++ b/lib/glfw3.h
@@ -17,8 +17,8 @@
#define RTBUF_GLFW3_H
#include <GLFW/glfw3.h>
-#include <rtbuf/rtbuf.h>
-#include <rtbuf/music.h>
+#include "../librtbuf/rtbuf.h"
+#include "music.h"
typedef struct rtbuf_glfw3_keyboard_data {
s_rtbuf_music_notes notes;
diff --git a/lib/glfw3/Makefile b/lib/glfw3/Makefile
new file mode 100644
index 0000000..7495f63
--- /dev/null
+++ b/lib/glfw3/Makefile
@@ -0,0 +1,8 @@
+all: libraries
+
+clean:
+ rm -rf .libs *.o *.lo *.la
+
+.PHONY: all clean libraries
+
+.include <config.mk>
diff --git a/lib/glfw3/Makefile.am b/lib/glfw3/Makefile.am
deleted file mode 100644
index 7398016..0000000
--- a/lib/glfw3/Makefile.am
+++ /dev/null
@@ -1,15 +0,0 @@
-CLEANFILES =
-rtbuf_includedir = $(includedir)/rtbuf/glfw3
-rtbuf_include_HEADERS =
-rtbuf_libdir = $(libdir)/rtbuf/glfw3
-rtbuf_lib_LTLIBRARIES =
-
-rtbuf_lib_LTLIBRARIES += keyboard.la
-keyboard_la_CPPFLAGS = ${GLFW3_CFLAGS}
-keyboard_la_LDFLAGS = -no-undefined -module -shared
-keyboard_la_LIBADD = ${GLFW3_LIBS} ../librtbuf_music.la ../librtbuf_signal.la
-
-rtbuf_lib_LTLIBRARIES += oscilloscope.la
-oscilloscope_la_CPPFLAGS = ${GLFW3_CFLAGS}
-oscilloscope_la_LDFLAGS = -no-undefined -module -shared
-oscilloscope_la_LIBADD = ${GLFW3_LIBS} ../librtbuf_signal.la
diff --git a/lib/glfw3/configure b/lib/glfw3/configure
new file mode 100755
index 0000000..0d616cd
--- /dev/null
+++ b/lib/glfw3/configure
@@ -0,0 +1,51 @@
+#!/bin/sh
+set -e
+
+. ../../config.subr
+
+SOURCES="$(ls *.c | tr '\n' ' ')"
+
+require_pkg_config
+
+if test -d /usr/local/include; then
+ CPPFLAGS="-I/usr/local/include"
+fi
+CPPFLAGS="$CPPFLAGS $(pkg-config --cflags-only-I glfw3)"
+echo "CPPFLAGS = $CPPFLAGS" >> ${CONFIG_MK}
+
+if [ x"$DEBUG" = x"yes" ]; then
+ CFLAGS="-DDEBUG -O0 -ggdb"
+else
+ CFLAGS="-DNDEBUG -O3"
+fi
+CFLAGS="$CFLAGS -W -Wall -Werror -std=c89 -pedantic"
+CFLAGS="$CFLAGS $(pkg-config --cflags-only-other glfw3)"
+echo "CFLAGS = $CFLAGS" >> ${CONFIG_MK}
+
+LDFLAGS=""
+echo "LDFLAGS = $LDFLAGS" >> ${CONFIG_MK}
+
+LIBS="$(pkg-config --libs glfw3)"
+echo "LIBS = $LIBS" >> ${CONFIG_MK}
+
+
+LIBDIR=/usr/local/lib/rtbuf/$VER/dynamic
+echo "LIBDIR = $LIBDIR" >> ${CONFIG_MK}
+
+LIBRARIES=
+
+for SRC in $SOURCES; do
+ SRC_LO="$(c2lo "$SRC")"
+ echo >> ${CONFIG_MK}
+ lo_rule "$SRC" >> ${CONFIG_MK}
+ echo "\t${LIBTOOL} --tag=CC --mode=compile \${CC} \${CPPFLAGS} \${CFLAGS} -c $SRC -o $SRC_LO" >> ${CONFIG_MK}
+
+ SRC_LA="$(c2la "$SRC")"
+ echo >> ${CONFIG_MK}
+ echo "$SRC_LA: $SRC_LO" >> ${CONFIG_MK}
+ echo "\t${LIBTOOL} --tag=CC --mode=link \${CC} -no-undefined -module \${LDFLAGS} $SRC_LO \${LIBS} -o $SRC_LA -rpath $LIBDIR" >> ${CONFIG_MK}
+ LIBRARIES="$LIBRARIES $SRC_LA"
+done
+
+echo >> ${CONFIG_MK}
+echo "libraries:${LIBRARIES}" >> ${CONFIG_MK}
diff --git a/lib/portaudio/Makefile b/lib/portaudio/Makefile
new file mode 100644
index 0000000..7495f63
--- /dev/null
+++ b/lib/portaudio/Makefile
@@ -0,0 +1,8 @@
+all: libraries
+
+clean:
+ rm -rf .libs *.o *.lo *.la
+
+.PHONY: all clean libraries
+
+.include <config.mk>
diff --git a/lib/portaudio/configure b/lib/portaudio/configure
new file mode 100755
index 0000000..6205135
--- /dev/null
+++ b/lib/portaudio/configure
@@ -0,0 +1,51 @@
+#!/bin/sh
+set -e
+
+. ../../config.subr
+
+SOURCES="$(ls *.c | tr '\n' ' ')"
+
+require_pkg_config
+
+if test -d /usr/local/include; then
+ CPPFLAGS="-I/usr/local/include"
+fi
+CPPFLAGS="$CPPFLAGS $(pkg-config --cflags-only-I portaudio-2.0)"
+echo "CPPFLAGS = $CPPFLAGS" >> ${CONFIG_MK}
+
+if [ x"$DEBUG" = x"yes" ]; then
+ CFLAGS="-DDEBUG -O0 -ggdb"
+else
+ CFLAGS="-DNDEBUG -O3"
+fi
+CFLAGS="$CFLAGS -W -Wall -Werror -std=c89 -pedantic"
+CFLAGS="$CFLAGS $(pkg-config --cflags-only-other portaudio-2.0)"
+echo "CFLAGS = $CFLAGS" >> ${CONFIG_MK}
+
+LDFLAGS=""
+echo "LDFLAGS = $LDFLAGS" >> ${CONFIG_MK}
+
+LIBS="$(pkg-config --libs portaudio-2.0)"
+echo "LIBS = $LIBS" >> ${CONFIG_MK}
+
+
+LIBDIR=/usr/local/lib/rtbuf/$VER/dynamic
+echo "LIBDIR = $LIBDIR" >> ${CONFIG_MK}
+
+LIBRARIES=
+
+for SRC in $SOURCES; do
+ SRC_LO="$(c2lo "$SRC")"
+ echo >> ${CONFIG_MK}
+ lo_rule "$SRC" >> ${CONFIG_MK}
+ echo "\t${LIBTOOL} --tag=CC --mode=compile \${CC} \${CPPFLAGS} \${CFLAGS} -c $SRC -o $SRC_LO" >> ${CONFIG_MK}
+
+ SRC_LA="$(c2la "$SRC")"
+ echo >> ${CONFIG_MK}
+ echo "$SRC_LA: $SRC_LO" >> ${CONFIG_MK}
+ echo "\t${LIBTOOL} --tag=CC --mode=link \${CC} -no-undefined -module \${LDFLAGS} $SRC_LO \${LIBS} -o $SRC_LA -rpath $LIBDIR" >> ${CONFIG_MK}
+ LIBRARIES="$LIBRARIES $SRC_LA"
+done
+
+echo >> ${CONFIG_MK}
+echo "libraries:${LIBRARIES}" >> ${CONFIG_MK}
diff --git a/lib/reverb/Makefile b/lib/reverb/Makefile
new file mode 100644
index 0000000..7495f63
--- /dev/null
+++ b/lib/reverb/Makefile
@@ -0,0 +1,8 @@
+all: libraries
+
+clean:
+ rm -rf .libs *.o *.lo *.la
+
+.PHONY: all clean libraries
+
+.include <config.mk>
diff --git a/lib/reverb/configure b/lib/reverb/configure
new file mode 100755
index 0000000..c9b888a
--- /dev/null
+++ b/lib/reverb/configure
@@ -0,0 +1,44 @@
+#!/bin/sh
+set -e
+
+. ../../config.subr
+
+SOURCES="$(ls *.c | tr '\n' ' ')"
+
+if test -d /usr/local/include; then
+ CPPFLAGS="-I/usr/local/include"
+fi
+CPPFLAGS="$CPPFLAGS"
+echo "CPPFLAGS = $CPPFLAGS" >> ${CONFIG_MK}
+
+if [ x"$DEBUG" = x"yes" ]; then
+ CFLAGS="-DDEBUG -O0 -ggdb"
+else
+ CFLAGS="-DNDEBUG -O3"
+fi
+CFLAGS="$CFLAGS -W -Wall -Werror -std=c89 -pedantic"
+echo "CFLAGS = $CFLAGS" >> ${CONFIG_MK}
+
+LDFLAGS=""
+echo "LDFLAGS = $LDFLAGS" >> ${CONFIG_MK}
+
+LIBDIR=/usr/local/lib/rtbuf/$VER/dynamic
+echo "LIBDIR = $LIBDIR" >> ${CONFIG_MK}
+
+LIBRARIES=
+
+for SRC in $SOURCES; do
+ SRC_LO="$(c2lo "$SRC")"
+ echo >> ${CONFIG_MK}
+ lo_rule "$SRC" >> ${CONFIG_MK}
+ echo "\t${LIBTOOL} --tag=CC --mode=compile \${CC} \${CPPFLAGS} \${CFLAGS} -c $SRC -o $SRC_LO" >> ${CONFIG_MK}
+
+ SRC_LA="$(c2la "$SRC")"
+ echo >> ${CONFIG_MK}
+ echo "$SRC_LA: $SRC_LO" >> ${CONFIG_MK}
+ echo "\t${LIBTOOL} --tag=CC --mode=link \${CC} -no-undefined -module \${LDFLAGS} $SRC_LO -o $SRC_LA -rpath $LIBDIR" >> ${CONFIG_MK}
+ LIBRARIES="$LIBRARIES $SRC_LA"
+done
+
+echo >> ${CONFIG_MK}
+echo "libraries:${LIBRARIES}" >> ${CONFIG_MK}
diff --git a/lib/signal/Makefile b/lib/signal/Makefile
new file mode 100644
index 0000000..7495f63
--- /dev/null
+++ b/lib/signal/Makefile
@@ -0,0 +1,8 @@
+all: libraries
+
+clean:
+ rm -rf .libs *.o *.lo *.la
+
+.PHONY: all clean libraries
+
+.include <config.mk>
diff --git a/lib/signal/Makefile.am b/lib/signal/Makefile.am
index d8b6cb3..e796580 100644
--- a/lib/signal/Makefile.am
+++ b/lib/signal/Makefile.am
@@ -1,21 +1,5 @@
-if ENABLE_SIGNAL
-
-CLEANFILES =
-rtbuf_includedir = $(includedir)/rtbuf/signal
-rtbuf_include_HEADERS =
-rtbuf_libdir = $(libdir)/rtbuf/signal
-rtbuf_lib_LTLIBRARIES =
-
-rtbuf_lib_LTLIBRARIES += bandpass2.la
-bandpass2_la_LDFLAGS = -no-undefined -module -shared
bandpass2_la_LIBADD = ${SIGNAL_LIBS} ../librtbuf_signal.la
-
-rtbuf_lib_LTLIBRARIES += delay.la
-delay_la_LDFLAGS = -no-undefined -module
delay_la_LIBADD = ${SIGNAL_LIBS} ../librtbuf_signal.la
-
-rtbuf_lib_LTLIBRARIES += equalizer10.la
-equalizer10_la_LDFLAGS = -no-undefined -module
equalizer10_la_LIBADD = ${SIGNAL_LIBS} ../librtbuf_signal.la
rtbuf_lib_LTLIBRARIES += flanger.la
diff --git a/lib/signal/configure b/lib/signal/configure
new file mode 100755
index 0000000..c9b888a
--- /dev/null
+++ b/lib/signal/configure
@@ -0,0 +1,44 @@
+#!/bin/sh
+set -e
+
+. ../../config.subr
+
+SOURCES="$(ls *.c | tr '\n' ' ')"
+
+if test -d /usr/local/include; then
+ CPPFLAGS="-I/usr/local/include"
+fi
+CPPFLAGS="$CPPFLAGS"
+echo "CPPFLAGS = $CPPFLAGS" >> ${CONFIG_MK}
+
+if [ x"$DEBUG" = x"yes" ]; then
+ CFLAGS="-DDEBUG -O0 -ggdb"
+else
+ CFLAGS="-DNDEBUG -O3"
+fi
+CFLAGS="$CFLAGS -W -Wall -Werror -std=c89 -pedantic"
+echo "CFLAGS = $CFLAGS" >> ${CONFIG_MK}
+
+LDFLAGS=""
+echo "LDFLAGS = $LDFLAGS" >> ${CONFIG_MK}
+
+LIBDIR=/usr/local/lib/rtbuf/$VER/dynamic
+echo "LIBDIR = $LIBDIR" >> ${CONFIG_MK}
+
+LIBRARIES=
+
+for SRC in $SOURCES; do
+ SRC_LO="$(c2lo "$SRC")"
+ echo >> ${CONFIG_MK}
+ lo_rule "$SRC" >> ${CONFIG_MK}
+ echo "\t${LIBTOOL} --tag=CC --mode=compile \${CC} \${CPPFLAGS} \${CFLAGS} -c $SRC -o $SRC_LO" >> ${CONFIG_MK}
+
+ SRC_LA="$(c2la "$SRC")"
+ echo >> ${CONFIG_MK}
+ echo "$SRC_LA: $SRC_LO" >> ${CONFIG_MK}
+ echo "\t${LIBTOOL} --tag=CC --mode=link \${CC} -no-undefined -module \${LDFLAGS} $SRC_LO -o $SRC_LA -rpath $LIBDIR" >> ${CONFIG_MK}
+ LIBRARIES="$LIBRARIES $SRC_LA"
+done
+
+echo >> ${CONFIG_MK}
+echo "libraries:${LIBRARIES}" >> ${CONFIG_MK}
diff --git a/lib/sndio/Makefile b/lib/sndio/Makefile
new file mode 100644
index 0000000..7495f63
--- /dev/null
+++ b/lib/sndio/Makefile
@@ -0,0 +1,8 @@
+all: libraries
+
+clean:
+ rm -rf .libs *.o *.lo *.la
+
+.PHONY: all clean libraries
+
+.include <config.mk>
diff --git a/lib/sndio/configure b/lib/sndio/configure
new file mode 100755
index 0000000..75e71fb
--- /dev/null
+++ b/lib/sndio/configure
@@ -0,0 +1,44 @@
+#!/bin/sh
+set -e
+
+. ../../config.subr
+
+SOURCES="$(ls *.c | tr '\n' ' ')"
+
+if test -d /usr/local/include; then
+ CPPFLAGS="-I/usr/local/include"
+fi
+CPPFLAGS="$CPPFLAGS"
+echo "CPPFLAGS = $CPPFLAGS" >> ${CONFIG_MK}
+
+if [ x"$DEBUG" = x"yes" ]; then
+ CFLAGS="-DDEBUG -O0 -ggdb"
+else
+ CFLAGS="-DNDEBUG -O3"
+fi
+CFLAGS="$CFLAGS -W -Wall -Werror -std=c89 -pedantic"
+echo "CFLAGS = $CFLAGS" >> ${CONFIG_MK}
+
+LDFLAGS="-lsndio"
+echo "LDFLAGS = $LDFLAGS" >> ${CONFIG_MK}
+
+LIBDIR=/usr/local/lib/rtbuf/$VER/dynamic
+echo "LIBDIR = $LIBDIR" >> ${CONFIG_MK}
+
+LIBRARIES=
+
+for SRC in $SOURCES; do
+ SRC_LO="$(c2lo "$SRC")"
+ echo >> ${CONFIG_MK}
+ lo_rule "$SRC" >> ${CONFIG_MK}
+ echo "\t${LIBTOOL} --tag=CC --mode=compile \${CC} \${CPPFLAGS} \${CFLAGS} -c $SRC -o $SRC_LO" >> ${CONFIG_MK}
+
+ SRC_LA="$(c2la "$SRC")"
+ echo >> ${CONFIG_MK}
+ echo "$SRC_LA: $SRC_LO" >> ${CONFIG_MK}
+ echo "\t${LIBTOOL} --tag=CC --mode=link \${CC} -no-undefined -module \${LDFLAGS} $SRC_LO -o $SRC_LA -rpath $LIBDIR" >> ${CONFIG_MK}
+ LIBRARIES="$LIBRARIES $SRC_LA"
+done
+
+echo >> ${CONFIG_MK}
+echo "libraries:${LIBRARIES}" >> ${CONFIG_MK}
diff --git a/lib/synth/Makefile b/lib/synth/Makefile
new file mode 100644
index 0000000..7495f63
--- /dev/null
+++ b/lib/synth/Makefile
@@ -0,0 +1,8 @@
+all: libraries
+
+clean:
+ rm -rf .libs *.o *.lo *.la
+
+.PHONY: all clean libraries
+
+.include <config.mk>
diff --git a/lib/synth/configure b/lib/synth/configure
new file mode 100755
index 0000000..c9b888a
--- /dev/null
+++ b/lib/synth/configure
@@ -0,0 +1,44 @@
+#!/bin/sh
+set -e
+
+. ../../config.subr
+
+SOURCES="$(ls *.c | tr '\n' ' ')"
+
+if test -d /usr/local/include; then
+ CPPFLAGS="-I/usr/local/include"
+fi
+CPPFLAGS="$CPPFLAGS"
+echo "CPPFLAGS = $CPPFLAGS" >> ${CONFIG_MK}
+
+if [ x"$DEBUG" = x"yes" ]; then
+ CFLAGS="-DDEBUG -O0 -ggdb"
+else
+ CFLAGS="-DNDEBUG -O3"
+fi
+CFLAGS="$CFLAGS -W -Wall -Werror -std=c89 -pedantic"
+echo "CFLAGS = $CFLAGS" >> ${CONFIG_MK}
+
+LDFLAGS=""
+echo "LDFLAGS = $LDFLAGS" >> ${CONFIG_MK}
+
+LIBDIR=/usr/local/lib/rtbuf/$VER/dynamic
+echo "LIBDIR = $LIBDIR" >> ${CONFIG_MK}
+
+LIBRARIES=
+
+for SRC in $SOURCES; do
+ SRC_LO="$(c2lo "$SRC")"
+ echo >> ${CONFIG_MK}
+ lo_rule "$SRC" >> ${CONFIG_MK}
+ echo "\t${LIBTOOL} --tag=CC --mode=compile \${CC} \${CPPFLAGS} \${CFLAGS} -c $SRC -o $SRC_LO" >> ${CONFIG_MK}
+
+ SRC_LA="$(c2la "$SRC")"
+ echo >> ${CONFIG_MK}
+ echo "$SRC_LA: $SRC_LO" >> ${CONFIG_MK}
+ echo "\t${LIBTOOL} --tag=CC --mode=link \${CC} -no-undefined -module \${LDFLAGS} $SRC_LO -o $SRC_LA -rpath $LIBDIR" >> ${CONFIG_MK}
+ LIBRARIES="$LIBRARIES $SRC_LA"
+done
+
+echo >> ${CONFIG_MK}
+echo "libraries:${LIBRARIES}" >> ${CONFIG_MK}
diff --git a/lib/synth_type.c b/lib/synth_type.c
index b82fc83..67c1c7b 100644
--- a/lib/synth_type.c
+++ b/lib/synth_type.c
@@ -37,7 +37,7 @@ int main ()
printf("#ifndef RTBUF_SYNTH_TYPE_H\n"
"#define RTBUF_SYNTH_TYPE_H\n"
"\n"
- "#include <rtbuf/signal_type.h>\n");
+ "#include \"signal_type.h\"\n");
notes_in();
printf("\n"
"#endif\n");