TheRaven/Makefile

42 lines
1.5 KiB
Makefile

CONFDIR = ${pkgdir}/usr/local/etc/TheRaven
INSTALLDIR = ${pkgdir}/opt/aninix/TheRaven
SCRIPTS != ls -1 *.bash
compile: clean ./chatbot-support.bash ./math-support.bash
(mcs -out:raven.mono /opt/aninix/Uniglot/CSharp/*.csharp *.csharp Raven.csharp 2>&1 | grep -v CS2002); printf ""
install: compile
source $$PWD/installscript && pre_install || true
install -o raven -g raven -m 0750 -d ${INSTALLDIR}
for script in ${SCRIPTS} raven.mono; do install -o raven -g raven -m 0640 $$script ${INSTALLDIR}; done
if [ ! -d ${CONFDIR} ]; then mkdir -p ${CONFDIR}; cp sample-confs/* ${CONFDIR}; fi
# Hook to deprivilege bot
make checkperm
# Hook for Systemd
mkdir -p ${pkgdir}/usr/lib/systemd/system/
cp ./raven.service ${pkgdir}/usr/lib/systemd/system/raven.service
clean:
for i in raven.mono; do if [ -f $$i ]; then rm $$i; fi; done
uninstall:
rm -Rf ${INSTALLDIR} ${CONFDIR}
systemctl disable --now raven.service
rm /usr/lib/systemd/system/raven.service
test: compile
cd ./sample-confs; mono ../raven.mono -c sample.conf -v -h
checkperm: ${INSTALLDIR}/raven.mono
chown -R raven:raven ${INSTALLDIR} ${CONFDIR}
chmod 0600 ${INSTALLDIR}/* ${CONFDIR}/*
chmod 0700 ${CONFDIR} ${INSTALLDIR}
diff:
diff ./raven.service ${pkgdir}/usr/lib/systemd/system/raven.service
diff ./sample.conf ${pkgdir}/usr/local/etc/TheRaven/raven.conf
reverse: /usr/lib/systemd/system/raven.service /usr/local/etc/TheRaven
cp /usr/lib/systemd/system/raven.service .
cp ${INSTALLDIR}/*.bash .