diff --git a/src/Makefile b/src/Makefile
index 701cdcfb16457802dcb1bf1b461b3feedf6f8d1b..deee3854574becec9c38150d6a16f587a02729ae 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -189,6 +189,10 @@ ifdef FREEBSD
 UNIXCOMMON=1
 endif
 
+ifdef MACOSX
+UNIXCOMMON=1
+endif
+
 ifdef NDS
 NOPNG=1
 NONET=1
@@ -588,11 +592,16 @@ ifndef WINDOWSHELL
 	-$(GZIP) $(GZIP_OPT2) $(BIN)/$(DBGNAME).txt
 endif
 endif
+
+# i dont know why, but the os x executable absolutely hates
+# being touched by objcopy. so let's not do it
+ifndef MACOSX
 ifndef PSP
 	$(OBJCOPY) $(BIN)/$(EXENAME) $(BIN)/$(DBGNAME)
 	$(OBJCOPY) --strip-debug $(BIN)/$(EXENAME)
 	-$(OBJCOPY) --add-gnu-debuglink=$(BIN)/$(DBGNAME) $(BIN)/$(EXENAME)
 endif
+endif
 ifndef NOUPX
 	-$(UPX) $(UPX_OPTS) $(BIN)/$(EXENAME)
 endif
@@ -737,6 +746,11 @@ $(OBJDIR)/%.o: %.c
 $(OBJDIR)/%.o: $(INTERFACE)/%.c
 	$(CC) $(CFLAGS) $(WFLAGS) -c $< -o $@
 
+ifdef MACOSX
+$(OBJDIR)/%.o: sdl/macosx/%.c
+	$(CC) $(CFLAGS) $(WFLAGS) -c $< -o $@
+endif
+
 $(OBJDIR)/%.o: hardware/%.c
 	$(CC) $(CFLAGS) $(WFLAGS) -c $< -o $@
 
diff --git a/src/Makefile.cfg b/src/Makefile.cfg
index fa8896a7c200f03acea8fa722568dd0da11d0075..7acb45596a2bec01afc1440d5d792ff1dfb4111f 100644
--- a/src/Makefile.cfg
+++ b/src/Makefile.cfg
@@ -403,6 +403,17 @@ else
 	WINDRES=windres
 endif
 
+# because Apple screws with us on this
+# need to get bintools from homebrew
+# need to get gzip from homebrew (it's in dupes)
+ifdef MACOSX
+	CC=clang
+	CXX=clang
+	OBJCOPY=gobjcopy
+	OBJDUMP=gobjdump
+	GZIP=/usr/local/bin/gzip
+endif
+
 OBJDUMP_OPTS?=--wide --source --line-numbers
 LD=$(CC)
 
diff --git a/src/doomtype.h b/src/doomtype.h
index d833176f780d32f9dd357ed0bbf9850b06830b68..6bc2c5731844e834245cc50ea4220ed70cb348df 100644
--- a/src/doomtype.h
+++ b/src/doomtype.h
@@ -92,7 +92,7 @@ typedef long ssize_t;
 #endif
 
 #ifdef __APPLE_CC__
-#define DIRECTFULLSCREEN
+#define DIRECTFULLSCREEN 1
 #define DEBUG_LOG
 #define NOIPX
 #endif
diff --git a/src/sdl/MakeNIX.cfg b/src/sdl/MakeNIX.cfg
index f5c9b20750ec560ea144ee797eab492e5b6c9ec8..1a0b5421048ac134924e8b47e7d606e0abcf37e3 100644
--- a/src/sdl/MakeNIX.cfg
+++ b/src/sdl/MakeNIX.cfg
@@ -56,6 +56,15 @@ ifdef FREEBSD
 	LIBS+=-lipx -lkvm
 endif
 
+#
+#here is Mac OS X
+#
+ifdef MACOSX
+	OBJS+=$(OBJDIR)/mac_resources.o
+	OBJS+=$(OBJDIR)/mac_alert.o
+	LIBS+=-framework CoreFoundation
+endif
+
 #
 #here is GP2x (arm-gp2x-linux)
 #