|
-
- #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
|