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.2 KiB
90 lines
3.2 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 {} +
|
|
python3 -m zipapp "build" --output="$(PROGRAM).bin" --python="/usr/bin/env python3"
|
|
rm build/compiledprefix.py
|
|
|
|
#nsm-data
|
|
mkdir -p buildnsmdata
|
|
cp tools/nsm-data buildnsmdata/__main__.py
|
|
cp tools/nsmclient.py buildnsmdata/nsmclient.py
|
|
cd buildnsmdata && find . -type d -name "__pycache__" -exec rm -r {} +
|
|
python3 -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
|
|
|