FRAMEWORK = -framework Cocoa
MODULE = Flipper
BRIDGE = $(MODULE)-Bridging-Header.h
OBJCHDR = $(MODULE)-Swift.h
MINVERSION=10.10
CC = clang -Wall -arch x86_64 -mmacosx-version-min=$(MINVERSION)
SWC = swiftc -target x86_64-apple-macosx$(MINVERSION)
OBJ = main.o RowCopier.o Flipper.o

flip: $(OBJ)
	$(SWC) -o $@ $(OBJ)

main.o: main.m FlipOpt.h $(OBJCHDR)
RowCopier.o: RowCopier.m RowCopier.h
Flipper.o: Flipper.swift $(BRIDGE)
	$(SWC) -emit-library -c Flipper.swift -import-objc-header $(BRIDGE)
$(OBJCHDR): Flipper.swift $(BRIDGE)
	$(SWC) -c Flipper.swift -module-name $(MODULE) \
		-import-objc-header $(BRIDGE) -emit-objc-header-path $(OBJCHDR)

clean:
	/bin/rm -f *.o flip $(OBJCHDR) a.out *.swiftdoc *.swiftmodule
