#%.class : %.java
#    $(JAVAC) $(JFLAGS) $<

PYTHON_FILES=fibonacci_heap_mod.py test-fibonacci-heap-mod

JAVAC=javac
JFLAGS=-Xlint:unchecked -classpath .

first: go-python go-java

go-java: TestFibonacciHeap.jar
	java -jar TestFibonacciHeap.jar TestFibonacciHeap.main

go-python:
	./this-pylint --to-pylint $(PYTHON_FILES)
	/usr/local/cpython-3.10/bin/python ./test-fibonacci-heap-mod
	/usr/local/cpython-3.3/bin/python ./test-fibonacci-heap-mod
	/usr/local/cpython-2.7/bin/python ./test-fibonacci-heap-mod
	/usr/local/pypy-7.3.0/bin/pypy ./test-fibonacci-heap-mod
	/usr/local/pypy3-7.3.0/bin/pypy3 ./test-fibonacci-heap-mod
	# /usr/local/jython-2.7/bin/jython ./test-fibonacci-heap-mod

TestFibonacciHeap.jar: TestFibonacciHeap.class
	jar cmvf mainClass.txt TestFibonacciHeap.jar *.class

TestFibonacciHeap.class: TestFibonacciHeap.java
	$(JAVAC) $(JFLAGS) TestFibonacciHeap.java

# register:
	# No longer relevant.  Use an API Token instead.
	# python3 setup.py register

publish:
	python3 setup.py sdist
	twine upload dist/*

clean:
	rm -f *.pyc *.class *.jar tags
	rm -rf __pycache__ build dist fibonacci_heap_mod.egg-info
	rm -rf .ropeproject