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

TARGET = arm64-apple-macos$(MACOS_VERSION)
# TARGET = x86_64-apple-macos$(MACOS_VERSION)

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

$(EXEC): main.m AppDelegate.m AppDelegate.h\
	     AboutViewController.m AboutViewController.h\
		 MenulessWindow.m MenulessWindow.h Helpers.m Helpers.h
	$(CC) $(FLAGS) -target $(TARGET) -sectcreate __TEXT __info_plist\
		Info.plist $(filter-out %.h, $^) $(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
