Hash :
1765b28f
Author :
Thomas de Grivel
Date :
2021-02-20T22:17:09
wip remove autotools
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
#!/bin/sh
set -e
. ../config.subr
TYPE_SOURCES="$(ls *_type.c | tr '\n' ' ')"
SOURCES="$(ls *.c | grep -Ev '_type.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}
for TYPE_SRC in $TYPE_SOURCES; do
TYPE_PROG="$(c2prog "$TYPE_SRC")"
TYPE_H="${TYPE_PROG}.h"
echo > "$TYPE_H"
done
for TYPE_SRC in $TYPE_SOURCES; do
TYPE_PROG="$(c2prog "$TYPE_SRC")"
TYPE_H="${TYPE_PROG}.h"
echo >> ${CONFIG_MK}
prog_rule "$TYPE_SRC" >> ${CONFIG_MK}
echo "\t\${CC} \${CPPFLAGS} \${CFLAGS} $TYPE_SRC -o $TYPE_PROG" >> ${CONFIG_MK}
echo >> ${CONFIG_MK}
echo "${TYPE_H}: $TYPE_PROG" >> ${CONFIG_MK}
echo "\t./$TYPE_PROG > $TYPE_H" >> ${CONFIG_MK}
echo >> ${CONFIG_MK}
echo "CLEANFILES += $TYPE_PROG $TYPE_H" >> ${CONFIG_MK}
done
LIBDIR=/usr/local/lib
echo "LIBDIR = $LIBDIR" >> ${CONFIG_MK}
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="librtbuf_$(c2la "$SRC")"
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}
echo "RTBUF_MODULES += $SRC_LA" >> ${CONFIG_MK}
done