#CXXFLAGS+=-ffp-contract=off
#CXXFLAGS+=-O3 -ffast-math

all: mandel full.ppm part1.ppm part2.ppm

archives: mandelbrot.zip mandelbrot.tar.gz

mandelbrot.zip: main.cpp *.h Makefile
	zip $@ $^

mandelbrot.tar.gz: main.cpp *.h Makefile
	tar -czf $@ $^

full.ppm: mandel
	./mandel $@ 10000

part1.ppm: mandel
	./mandel $@ 10000 -0.8333 0.2101 0.00015

part2.ppm: mandel
	./mandel $@ 30000 0.38108 0.26598 0.00008

mandel: main.cpp *.h Makefile
	$(CXX) -O2 -march=native -std=gnu++23 $(CXXFLAGS) -o $@ $<

clean:
	rm -f mandel mandelbrot.zip mandelbrot.tar.gz

.PHONY: all clean archives

help:
	@echo "... all"
	@echo "... clean"
	@echo "... mandel"
	@echo "... full.ppm"
	@echo "... part1.ppm"
	@echo "... part2.ppm"
