Index: Makefile
===================================================================
--- Makefile	(revision 9373f5ef37f2be6a51ad90eae0f3045c63839db8)
+++ Makefile	(revision 0efe29788b258adaac4b1db0e6e6d6fcdf5b9c9a)
@@ -1,11 +1,13 @@
+OS :=			$(shell uname)
+
 SDL2 :=			/opt/sdl2
 SDL2_INC :=		$(SDL2)/include
 SDL2_LIB :=		$(SDL2)/lib
 
-FLAGS :=		-std=c99 -pthread -O2 -gdwarf-4
+FLAGS :=		-std=c99 -O2 -gdwarf-4
 
-FLAGS_CPU :=	$(FLAGS) -I cpu -I build
+FLAGS_CPU :=	$(FLAGS) -pthread -I cpu -I build
 
-FLAGS_EMU :=	$(FLAGS) \
+FLAGS_EMU :=	$(FLAGS) -pthread \
 				-fno-strict-aliasing -fno-inline -fno-omit-frame-pointer \
 				-Wall -Wextra \
@@ -14,5 +16,23 @@
 				-I cpu -I emu -I build -I $(SDL2_INC)
 
+ifeq ($(OS), Linux)
+FLAGS_LNK :=	$(FLAGS) -pthread -Wall -Wextra
+LIBS :=			$(SDL2_LIB)/libSDL2.a -ldl -lm
+endif
+
+ifeq ($(OS), Darwin)
 FLAGS_LNK :=	$(FLAGS) -Wall -Wextra
+LIBS :=			$(SDL2_LIB)/libSDL2.a \
+				-framework AppKit \
+				-framework AudioToolbox \
+				-framework Carbon \
+				-framework CoreAudio \
+				-framework CoreFoundation \
+				-framework CoreGraphics \
+				-framework CoreVideo \
+				-framework ForceFeedback \
+				-framework IOKit \
+				-l iconv
+endif
 
 HEADERS :=		$(wildcard cpu/*.h) $(wildcard emu/*.h)
@@ -59,5 +79,5 @@
 				gcc $(FLAGS_LNK) -o buchla \
 				$(CPU_OP) $(GEN_OP) $(EMU_OP) \
-				$(SDL2_LIB)/libSDL2.a -ldl -lm
+				$(LIBS)
 
 run:			buchla
