#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 CHANGELOG $(DESTDIR)$(PREFIX)/share/doc/$(PROGRAM)/CHANGELOG 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