Music production session manager https://www.laborejo.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

90 lines
3.1 KiB

#This is a makefile and needs tabs, not spaces.
.PHONY: install uninstall clean gitclean resources
all:
#Our Program
mkdir -p build
cd build && printf "prefix = \"$(PREFIX)\"" > compiledprefix.py
#Only copy the needed files
cp -r "$(PROGRAM)" __main__.py engine qtgui build
#Clean all pycache in build
cd build && find . -type d -name "__pycache__" -exec rm -r {} +
python -m zipapp "build" --output="$(PROGRAM).bin" --python="/usr/bin/env python3"
rm build/compiledprefix.py
#nsm-data
mkdir -p buildnsmdata
cp tools/nsm-data tools/nsmclient.py buildnsmdata
cd buildnsmdata && find . -type d -name "__pycache__" -exec rm -r {} +
python -m zipapp "buildnsmdata" --output="nsm-data.bin" --python="/usr/bin/env python3"
clean:
rm -rf build/
rm -rf buildnsmdata/
rm -f "$(PROGRAM).bin"
rm -f "nsm-data.bin"
rm Makefile
find . -type d -name "__pycache__" -exec rm -r {} +
#Convenience function for developing, not used for the build or install process
gitclean:
git clean -f -X -d
#Convenience function for developing, not used for the build or install process
resources:
cd documentation && python3 build.py
cd documentation && sh build-documentation.sh
cd qtgui/resources && sh buildresources.sh
install:
#nsm-data
install -D -m 755 "nsm-data.bin" $(DESTDIR)$(PREFIX)/bin/nsm-data
#Agordejo
install -D -m 755 $(PROGRAM).bin $(DESTDIR)$(PREFIX)/bin/$(PROGRAM)
install -D -m 644 documentation/out/* -t $(DESTDIR)$(PREFIX)/share/doc/$(PROGRAM)
install -D -m 644 README.md $(DESTDIR)$(PREFIX)/share/doc/$(PROGRAM)/README.md
install -D -m 644 LICENSE $(DESTDIR)$(PREFIX)/share/doc/$(PROGRAM)/LICENSE
install -D -m 644 desktop/desktop.desktop $(DESTDIR)$(PREFIX)/share/applications/org.laborejo.agordejo.desktop
install -D -m 644 desktop/agordejo-continue.desktop $(DESTDIR)$(PREFIX)/share/applications/org.laborejo.agordejo-continue.desktop
install -d $(DESTDIR)$(PREFIX)/share/man/man1
gzip -c documentation/$(PROGRAM).1 > $(DESTDIR)$(PREFIX)/share/man/man1/$(PROGRAM).1.gz
gzip -c documentation/nsm-data.1 > $(DESTDIR)$(PREFIX)/share/man/man1/nsm-data.1.gz
#Icons
for size in 16 32 64 128 256 512 ; do \
install -D -m 644 desktop/images/"$$size"x"$$size".png $(DESTDIR)$(PREFIX)/share/icons/hicolor/"$$size"x"$$size"/apps/$(PROGRAM).png ; \
done
install -D -m 644 desktop/images/256x256.png $(DESTDIR)$(PREFIX)/share/pixmaps/$(PROGRAM).png
#Engine resources
install -d $(DESTDIR)$(PREFIX)/share/$(PROGRAM)
cp -r engine/resources/* $(DESTDIR)$(PREFIX)/share/$(PROGRAM)/
uninstall:
#Directories
rm -rf $(DESTDIR)$(PREFIX)/share/doc/$(PROGRAM)
rm -rf $(DESTDIR)$(PREFIX)/share/$(PROGRAM)
#Files
rm -f $(DESTDIR)$(PREFIX)/bin/$(PROGRAM)
rm -f $(DESTDIR)$(PREFIX)/bin/nsm-data
rm -f $(DESTDIR)$(PREFIX)/share/applications/org.laborejo.agordejo.desktop
rm -f $(DESTDIR)$(PREFIX)/share/applications/org.laborejo.agordejo-continue.desktop
rm -f $(DESTDIR)$(PREFIX)/share/man/man1/$(PROGRAM).1.gz
rm -f $(DESTDIR)$(PREFIX)/share/man/man1/nsm-data.1.gz
#Icons
for size in 16 32 64 128 256 512 ; do \
rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/"$$size"x"$$size"/apps/$(PROGRAM).png ; \
done
rm -f $(DESTDIR)$(PREFIX)/share/pixmaps/$(PROGRAM).png