-# QT version,  4 or 5
-qtplatform = $(shell $(MOC) -v)
-ifneq (, $(findstring moc 5,$(qtplatform)))
-   CXXFLAGS = -I$(QTDIR)/include -I$(QTDIR)/include/QtCore -I$(QTDIR)/include/QtGui -I$(QTDIR)/include/QtWidgets  -I/mingw/include
-   QTLDLIBS = -L$(QTDIR)/lib  -lQt5Core -lQt5Gui -lQt5Widgets 
+ifneq (,$(findstring MINGW,$(platform))) 
+    LDLIBS +=  -L/mingw/lib -lgdi32
+       CFLAGS +=  -I/mingw/include
+    CXXFLAGS = -I$(QTDIR)/include -I$(QTDIR)/include/QtCore -I$(QTDIR)/include/QtGui
+    MOC = $(QTDIR)/bin/moc
+    LUAPLATFORM = mingw
+    ifneq ($(wildcard $(QTDIR)/include/QtWidgets),)
+        CXXFLAGS += -I$(QTDIR)/include/QtWidgets
+        QTLDLIBS = -L$(QTDIR)/lib -lQt5Core -lQt5Gui -lQt5Widgets
+    else
+        QTLDLIBS = -L$(QTDIR)/lib -lQtCore4 -lQtGui4
+    endif
+
+       # QT version,  4 or 5
+       qtplatform = $(shell $(MOC) -v)
+       ifneq (, $(findstring moc 5,$(qtplatform)))
+          CXXFLAGS = -I$(QTDIR)/include -I$(QTDIR)/include/QtCore -I$(QTDIR)/include/QtGui -I$(QTDIR)/include/QtWidgets  -I/mingw/include
+          QTLDLIBS = -L$(QTDIR)/lib  -lQt5Core -lQt5Gui -lQt5Widgets 
+       else
+          CXXFLAGS = -I$(QTDIR)/include -I$(QTDIR)/include/QtCore -I$(QTDIR)/include/QtGui
+          QTLDLIBS = -L$(QTDIR)/lib -lQtCore4 -lQtGui4
+       endif
+       
+else ifeq ($(platform),Darwin)
+       LDLIBS = -L/opt/local/lib -lreadline -lpthread -lm
+    CXXFLAGS = $(shell pkg-config --cflags QtCore QtGui 2>/dev/null) -Wall -O3
+    QTLDLIBS = $(shell pkg-config --libs QtCore QtGui 2>/dev/null)
+    MOC = $(shell pkg-config --variable=moc_location QtCore)
+    LUAPLATFORM = macosx