Kyoo/Makefile
2020-01-27 00:33:09 +01:00

65 lines
1.6 KiB
Makefile

FFMPEG = transcoder/ffmpeg
CONFIG = $(FFMPEG)/config.h
OPTIONS = --pkg-config-flags=--static \
--disable-shared \
--enable-static \
--disable-asm \
--disable-zlib \
--disable-iconv \
--disable-ffplay \
--disable-ffprobe \
--disable-ffmpeg
TRANSCODERDIR = transcoder/build
NEEDED = dotnet \
cmake \
gcc \
node \
npm
ECHO = @echo -e
COL = \033[1;36m
RED = \033[1;31m
NOCOL = \033[0m
all: dependencies transcoder
dependencies:
@for pkg in $(NEEDED); do \
$$pkg --version >> /dev/null 2>&1 || ($(ECHO) "$(RED)ERROR: $$pkg could not be found.$(NOCOL)"; exit 1); \
done
$(CONFIG):
$(ECHO) "$(COL)Configuring FFMPEG$(NOCOL)"
cd $(FFMPEG) && ./configure $(OPTIONS)
ffmpeg: $(CONFIG)
$(ECHO) "$(COL)Building FFMPEG$(NOCOL)"
$(MAKE) -C $(FFMPEG)
transcoder: ffmpeg
$(ECHO) "$(COL)Building the transcoder$(NOCOL)"
mkdir --parent $(TRANSCODERDIR)
cd $(TRANSCODERDIR) && cmake .. && make
mv $(TRANSCODERDIR)/libtranscoder.so Kyoo/
$(ECHO) "$(COL)Transcoder built$(NOCOL)"
install_kyoo: all
$(ECHO) "$(COL)Building the app$(NOCOL)"
@if ! [[ $$(mkdir --parent /opt/kyoo) -eq 0 && -w /opt/kyoo ]]; then echo -e "$(RED)You don't have permissions to install Kyoo. Try to re run with sudo privileges.$(NOCOL)"; exit 1; fi
dotnet publish -c Release -o /opt/kyoo Kyoo/Kyoo.csproj
id -u kyoo &> /dev/null || useradd -rU kyoo
chown -R kyoo /opt/kyoo
chgrp -R kyoo /opt/kyoo
chmod +x /opt/kyoo/kyoo.sh
install: install_kyoo
curl https://raw.githubusercontent.com/AnonymusRaccoon/Kyoo.TheTVDB/master/install.sh | sh
chown -R kyoo /opt/kyoo
chgrp -R kyoo /opt/kyoo
.PHONY = all dependencies ffmpeg transcoder