all: clean dirs build_all

dirs:
	@mkdir -p build/

clean:
	@rm -rf build/

build_unix:
	@echo "Building for unix..."
	g++ -o build/owo src/main.cpp -I include

build_win:
	@echo "Building for windows..."
	x86_64-w64-mingw32-g++ -o build/owo.exe src/main.cpp -I include

make_deb:
	mkdir build/owo_deb
	mkdir build/owo_deb/DEBIAN
	mkdir -p build/owo_deb/usr/local/bin
	cp build/owo build/owo_deb/usr/local/bin
	touch build/owo_deb/DEBIAN/control
	echo "Package: owo" >> build/owo_deb/DEBIAN/control
	echo "Version: 1.0" >> build/owo_deb/DEBIAN/control
	echo "Maintainer: Alfie King" >> build/owo_deb/DEBIAN/control
	echo "Architecture: amd64" >> build/owo_deb/DEBIAN/control
	echo "Description: owoify text" >> build/owo_deb/DEBIAN/control
	dpkg-deb --build build/owo_deb
	mv build/owo_deb.deb build/owo.deb
	rm -rf build/owo_deb

make_arch:
	mkdir build/owo_arch
	cp PKGBUILD build/owo_arch
	makepkg -D build/owo_arch
	cp build/owo_arch/owo-1.0-1-x86_64.pkg.tar.zst build/owo.pkg.tar.zst
	rm -rf build/owo_arch

build_all: build_unix build_win make_deb make_arch

dev: clean dirs build_unix

.PHONY: all dirs clean build_all build_unix build_win