CC = clang
# FLAGS = -fno-objc-arc -Wall -Wextra -Wunguarded-availability \
# 		-Werror=unguarded-availability -glldb -fno-caret-diagnostics \
# 		-fno-show-column
FLAGS = -O3
FRAMEWORKS = -framework Cocoa -framework IOKit -framework ServiceManagement
MACOS_VERSION = 13.0
EXEC = Caffeine

default: $(EXEC) $(EXEC).app

# TODO: Add x86 support.
# -mmacosx-version-min=$(MACOS_VERSION)
$(EXEC): main.m AppDelegate.m AboutViewController.m MenulessWindow.m \
		 Helpers.m
	$(CC) $(FLAGS) -target arm64-apple-macos$(MACOS_VERSION) \
		-sectcreate __TEXT __info_plist Info.plist $^ $(FRAMEWORKS) -o $@

$(EXEC).app: $(EXEC)
	@rm -rf $@
	@mkdir -p $@/Contents/MacOS/ && \
	mkdir -p $@/Contents/Resources/ && \
	cp Info.plist $@/Contents/ && \
	cp resources/AppIcon.icns $@/Contents/Resources/ && \
	cp $(EXEC) $@/Contents/MacOS/

clean:
	rm -rf $(EXEC) $(EXEC).dSYM $(EXEC).app
