diff --git a/Makefile b/Makefile
index 549729764ac0e4d9260b068412f45253839af95d..9860e607023eaff1abd8992166e012e340bac1a2 100644
--- a/Makefile
+++ b/Makefile
@@ -8,13 +8,15 @@ WARNINGS   = -Werror -pedantic -Wall -Wextra -Wcast-align -Wcast-qual -Wctor-dto
 LIBS       = -lglfw -lGL -lGLEW -lfreetype -lharfbuzz -lmbedtls -lmbedcrypto -lmbedx509
 LDFLAGS    = -O3 -flto=8
 INCPATH    = -I /usr/include/freetype2 -I /usr/include/harfbuzz
+MD5SUM     = md5sum
 
 ifeq ($(UNAME), Darwin)
 CXXFLAGS   = -O3 -std=c++1y -DVERSION=\"$(GIT_VERSION)\"
 WARNINGS   =
-LIBS       = -L/usr/local/lib -lglfw3 -framework OpenGL -framework Cocoa -framework IOKit -framework CoreVideo -lGLEW -lfreetype -lharfbuzz -lmbedtls -lmbedcrypto -lmbedx509
-LDFLAGS    = -O3
+LIBS       = -L/usr/local/lib -lglfw -framework OpenGL -framework Cocoa -framework IOKit -framework CoreVideo -lGLEW -lfreetype -lharfbuzz -lmbedtls -lmbedcrypto -lmbedx509
+LDFLAGS    = -O3 -L /usr/local/lib
 INCPATH    = -I /usr/local/include -I /usr/local/include/freetype2 -I /usr/local/include/harfbuzz
+MD5SUM     = md5
 endif
 
 EXECUTABLE = netrunner
@@ -35,7 +37,7 @@ netrunner: $(OBJECTS)
 # make make 3.81 happy (since it can't parse any echo parameters)
 ifeq ($(UNAME), Darwin)
 shaders:
-ifneq ($(shell cat src/graphics/opengl/shaders/FontShader.vert src/graphics/opengl/shaders/FontShader.frag src/graphics/opengl/shaders/TextureShader.vert src/graphics/opengl/shaders/TextureShader.frag | md5sum), $(shell cat src/graphics/opengl/shaders/gen/hashsum))
+ifneq ($(shell cat src/graphics/opengl/shaders/FontShader.vert src/graphics/opengl/shaders/FontShader.frag src/graphics/opengl/shaders/TextureShader.vert src/graphics/opengl/shaders/TextureShader.frag | $(MD5SUM)), $(shell cat src/graphics/opengl/shaders/gen/hashsum))
 	@mkdir -p "src/graphics/opengl/shaders/gen"
 	@echo "#ifndef FONTSHADER_H\n#define FONTSHADER_H\n\nconst char *fontVertexShaderSource =\n" > src/graphics/opengl/shaders/gen/FontShader.h;
 	@cat src/graphics/opengl/shaders/FontShader.vert | awk '{if ($$0!="}") {print "\t\""$$0"\\n\""} else {print "\t\""$$0"\";\n"}}' >> src/graphics/opengl/shaders/gen/FontShader.h;
@@ -47,13 +49,13 @@ ifneq ($(shell cat src/graphics/opengl/shaders/FontShader.vert src/graphics/open
 	@echo "const char *textureFragmentShaderSource =\n" >> src/graphics/opengl/shaders/gen/TextureShader.h;
 	@cat src/graphics/opengl/shaders/TextureShader.frag | awk '{if ($$0!="}") {print "\t\""$$0"\\n\""} else {print "\t\""$$0"\";\n"}}' >> src/graphics/opengl/shaders/gen/TextureShader.h;
 	@echo "#endif\n" >> src/graphics/opengl/shaders/gen/TextureShader.h;
-	@cat src/graphics/opengl/shaders/FontShader.vert src/graphics/opengl/shaders/FontShader.frag src/graphics/opengl/shaders/TextureShader.vert src/graphics/opengl/shaders/TextureShader.frag | md5sum > src/graphics/opengl/shaders/gen/hashsum;
+	@cat src/graphics/opengl/shaders/FontShader.vert src/graphics/opengl/shaders/FontShader.frag src/graphics/opengl/shaders/TextureShader.vert src/graphics/opengl/shaders/TextureShader.frag | $(MD5SUM) > src/graphics/opengl/shaders/gen/hashsum;
 endif
 else
 shaders:
-ifneq ($(shell cat src/graphics/opengl/shaders/FontShader.vert src/graphics/opengl/shaders/FontShader.frag src/graphics/opengl/shaders/TextureShader.vert src/graphics/opengl/shaders/TextureShader.frag | md5sum), $(shell cat src/graphics/opengl/shaders/gen/hashsum))
+ifneq ($(shell cat src/graphics/opengl/shaders/FontShader.vert src/graphics/opengl/shaders/FontShader.frag src/graphics/opengl/shaders/TextureShader.vert src/graphics/opengl/shaders/TextureShader.frag | $(MD5SUM)), $(shell cat src/graphics/opengl/shaders/gen/hashsum))
 	@mkdir -p "src/graphics/opengl/shaders/gen"
-	@cat src/graphics/opengl/shaders/FontShader.vert src/graphics/opengl/shaders/FontShader.frag src/graphics/opengl/shaders/TextureShader.vert src/graphics/opengl/shaders/TextureShader.frag | md5sum > src/graphics/opengl/shaders/gen/hashsum;
+	@cat src/graphics/opengl/shaders/FontShader.vert src/graphics/opengl/shaders/FontShader.frag src/graphics/opengl/shaders/TextureShader.vert src/graphics/opengl/shaders/TextureShader.frag | $(MD5SUM) > src/graphics/opengl/shaders/gen/hashsum;
 	@/bin/echo -ne "#ifndef FONTSHADER_H\n#define FONTSHADER_H\n\nconst char *fontVertexShaderSource =\n" > src/graphics/opengl/shaders/gen/FontShader.h;
 	@cat src/graphics/opengl/shaders/FontShader.vert | awk '{if ($$0!="}") {print "\t\""$$0"\\n\""} else {print "\t\""$$0"\";\n"}}' >> src/graphics/opengl/shaders/gen/FontShader.h;
 	@/bin/echo -ne "const char *fontFragmentShaderSource =\n" >> src/graphics/opengl/shaders/gen/FontShader.h;
diff --git a/README.md b/README.md
index 4c513fbca6dc5593d2f00f0b9285ab32a2cc851f..d26f159da6b2e679577990bdd7d31d8eebf07188 100644
--- a/README.md
+++ b/README.md
@@ -38,6 +38,9 @@ Also will need either libmbedtls-dev (Debian 9/Ubuntu 16LTS (xenial)) or libpola
 #### Gentoo
 `sudo emerge freetype harfbuzz glew glfw`
 
+#### Mac OS X
+`brew install glew glfw freetype harfbuzz mbedtls`
+
 ## Binaries
 ### Linux
 [2017-08-22 binary package](https://my.mixtape.moe/pejuau.tar.gz)