diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..888fd8c
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,103 @@
+#Author: Justin Waters <justin.waters@timesys.com>
+#Date:   Fri Feb 27 12:19:20 2015 -0500
+
+#Add makefile
+
+# This is heavily based off of the Yocto recipe from Freescale
+
+# Makefile for imx-gpu-viv
+#
+# Timesys Corporation 2021
+
+ifeq (y,$(USE_X11))
+PC_SUFFIX="_x11"
+API_SUFFIX="x11"
+BACKEND="x11"
+GAL_EGL_SUFFIX="dri"
+
+else ifeq (y, $(USE_WAYLAND))
+PC_SUFFIX=
+API_SUFFIX="non-x11"
+BACKEND="wayland"
+GAL_EGL_SUFFIX=$(BACKEND)
+
+else 
+PC_SUFFIX=
+API_SUFFIX="non-x11"
+BACKEND="fb"
+GAL_EGL_SUFFIX=$(BACKEND)
+endif
+
+BINDIR=$(DESTDIR)/usr/bin
+LIBDIR=$(DESTDIR)/usr/lib
+INCLUDEDIR=$(DESTDIR)/usr/include
+OPTDIR=$(DESTDIR)/opt
+ETCDIR=$(DESTDIR)/etc
+
+TARGETS=
+
+all: $(TARGETS)
+
+$(TARGETS):
+
+install: $(TARGETS)
+	mkdir -p $(BINDIR)
+	mkdir -p $(LIBDIR)
+	mkdir -p $(LIBDIR)/pkgconfig
+	mkdir -p $(INCLUDEDIR)
+	mkdir -p $(OPTDIR)
+	mkdir -p $(ETCDIR)
+	mkdir -p $(ETCDIR)/OpenCL/vendors/
+
+	cp -r gpu-core/usr/lib/* $(LIBDIR)
+	cp -r gpu-core/usr/include/* $(INCLUDEDIR)
+	cp -r gpu-demos/opt/* $(OPTDIR)
+	cp -r gpu-tools/gmem-info/usr/bin/* $(BINDIR)
+	
+	rm -rf $(INCLUDEDIR)/vulkan/vulkan.h
+	
+	install -m 0644 gpu-core/usr/lib/pkgconfig/glesv1_cm$(PC_SUFFIX).pc $(LIBDIR)/pkgconfig/glesv1_cm.pc
+	install -m 0644 gpu-core/usr/lib/pkgconfig/glesv2$(PC_SUFFIX).pc $(LIBDIR)/pkgconfig/glesv2.pc
+	install -m 0644 gpu-core/usr/lib/pkgconfig/vg$(PC_SUFFIX).pc $(LIBDIR)/pkgconfig/vg.pc
+
+ifeq (y,$(USE_X11))
+	cp -r gpu-core/usr/lib/dri $(LIBDIR)
+	install -m 0644 gpu-core/usr/lib/pkgconfig/egl_x11.pc $(LIBDIR)/pkgconfig/egl.pc
+else ifeq (y,$(USE_WAYLAND))
+	install -m 0644 gpu-core/usr/lib/pkgconfig/egl_wayland.pc $(LIBDIR)/pkgconfig/egl.pc
+	#install -m 0644 gpu-core/usr/lib/pkgconfig/gc_wayland_protocol.pc $(LIBDIR)/pkgconfig/gc_wayland_protocol.pc
+	#install -m 0644 gpu-core/usr/lib/pkgconfig/wayland-egl.pc $(LIBDIR)/pkgconfig/wayland-egl.pc
+	#install -m 0644 gpu-core/usr/lib/pkgconfig/wayland-viv.pc $(LIBDIR)/pkgconfig/wayland-viv.pc
+	cp -r gpu-core/usr/lib/fb/libVDK.so.1.2.0 $(LIBDIR)/libVDK-framebuffer.so
+	cp -r gpu-core/usr/lib/wayland/libVDK.so.1.2.0 $(LIBDIR)/libVDK-wayland.so
+	ln -sf libVDK-wayland.so $(LIBDIR)/libVDK.so
+	ln -sf libVDK-wayland.so $(LIBDIR)/libVDK.so.1
+else    # linuxFB
+	install -m 0644 gpu-core/usr/lib/pkgconfig/egl_linuxfb.pc $(LIBDIR)/pkgconfig/egl.pc
+endif
+	
+	install -m 0644 gpu-core/etc/Vivante.icd $(ETCDIR)/OpenCL/vendors/Vivante.icd
+	cp -r $(LIBDIR)/$(BACKEND)/libGL* $(LIBDIR)
+	cp -r $(LIBDIR)/$(BACKEND)/libEGL* $(LIBDIR)
+	cp -r $(LIBDIR)/$(BACKEND)/libGAL* $(LIBDIR)
+	cp -r $(LIBDIR)/$(BACKEND)/libGLESv2* $(LIBDIR)	
+	#ln -sf libVIVANTE-$(BACKEND).so $(LIBDIR)/libVIVANTE.so
+
+	# MX6SL does not have 3D support
+	if [[ -n "$(DISABLE_3D)" ]]; then \
+		rm -rf $(LIBDIR)/libCLC* $(INCLUDEDIR)/CL \
+			$(LIBDIR)/libGL* $(INCLUDEDIR)/GL* \
+			$(LIBDIR)/libGLES* \
+			$(INCLUDEDIR)/CL $(LIBDIR)/libOpenCL* \
+			$(LIBDIR)/libOpenVG.3d.so \
+			$(LIBDIR)/libVivanteOpenCL.so \
+			$(OPTDIR)/viv_samples/vdk \
+			$(OPTDIR)viv_samples/es20 $(OPTDIR)/viv_samples/cl11; \
+		ln -sf libOpenVG.2d.so $(LIBDIR)/libOpenVG.so; \
+	fi
+
+clean:
+
+distclean: clean
+
+
