REPO_NAME = ivsCalc
MATHLIB = mathlib.py
PYTHON = python3

DOC_FILE = documentation
DOC_PATH = $(REPO_NAME)/src/$(DOC_FILE)

.PHONY: all pack clean test doc run profile

all: profile
	( \
		pip3 install virtualenv; \
		virtualenv venv; \
		. venv/bin/activate; \
		pip3 install PySide6 pyinstaller; \
		pyinstaller noapp.spec; \
		deactivate; \
		mv dist/app .; \
	)

pack: doc clean
	cd ../.. && \
	cp -r $(DOC_PATH) . && \
	cp -r $(REPO_NAME)/src/ivscalc_1.0-1_amd64.deb . && \
	rm -rf $(DOC_PATH) && \
	zip -r xnovot2j_xdrdla04_xhemza05_xsimap00.zip $(REPO_NAME) $(DOC_FILE) ivscalc_1.0-1_amd64.deb && \
	rm -rf ivscalc_1.0-1_amd64.deb && \
	rm -rf $(DOC_FILE)
	
	
clean: 
	rm -rf __pycache__ .pytest_cache venv build dist

test:
	$(PYTHON) test_basic.py

doc: Doxyfile
	doxygen $<

run:
	./app

profile: $(MATHLIB)
	pip3 install pyinstaller
	rm -rf build dist
	pyinstaller --onefile stddev.py
	mv dist/stddev .