project_name := Captura
derived_data_path := ~/Library/Developer/Xcode/DerivedData
sparkle_path := $(shell find $(derived_data_path) -type d -path '*artifacts/sparkle/Sparkle' -print -quit)
build_directory := builds
sparkle_account := tranquil.systems


distribute: archive package generate_appcast

package:
	@scripts/package.sh "$(project_name)" "$(build_directory)"

generate_appcast:
	@$(sparkle_path)/bin/generate_appcast --account $(sparkle_account) $(build_directory)

archive: prepare
	xcodebuild -project $(project_name).xcodeproj -scheme $(project_name) -configuration Release -archivePath $(build_directory)/$(project_name).xcarchive archive && xcodebuild -exportArchive -archivePath $(build_directory)/$(project_name).xcarchive -exportPath $(build_directory) -exportOptionsPlist export_options.plist

prepare:
	mkdir -p $(build_directory)

.PHONY: package prepare archive generate_appcast package distribute