diff --git a/Info.plist b/Info.plist
new file mode 100644
index 0000000..5742362
--- /dev/null
+++ b/Info.plist
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+ CFBundleDisplayName
+ IMUread
+ CFBundleIdentifier
+ com.pjrc.teensy
+ CFBundleName
+ IMUread
+ CFBundleShortVersionString
+ 1.234
+ LSHasLocalizedDisplayName
+
+ NSHumanReadableCopyright
+ All Rights Reserved
+ NSAppleScriptEnabled
+
+ CFBundleExecutable
+ gui
+ CFBundleIconFile
+ icon.icns
+ CFBundlePackageType
+ APPL
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ 1.234
+ LSMinimumSystemVersion
+ 10.6.0
+ LSRequiresNativeExecution
+
+ LSExecutableArchitectures
+
+ i386
+
+
+
diff --git a/Makefile b/Makefile
index e0d0d63..81e6700 100644
--- a/Makefile
+++ b/Makefile
@@ -1,8 +1,9 @@
-OS = LINUX
+#OS = LINUX
#OS = MACOSX
-#OS = WINDOWS
+OS = WINDOWS
ifeq ($(OS), LINUX)
+ALL = gui imuread
CC = gcc
CXX = g++
CFLAGS = -O2 -Wall -D$(OS)
@@ -12,9 +13,16 @@ WXCONFIG = ~/wxwidgets/3.0.2.gtk2-opengl/bin/wx-config
CLILIBS = -lglut -lGLU -lGL
else ifeq ($(OS), MACOSX)
-#TODO: Macintosh build...
+ALL = gui.app
+CC = gcc-4.2
+CXX = g++-4.2
+CFLAGS = -O2 -Wall -D$(OS)
+CXXFLAGS = $(CFLAGS) `$(WXCONFIG) --cppflags`
+WXCONFIG = ~/wxwidgets/3.0.2.mac-opengl/bin/wx-config
+CLILIBS = -lglut -lGLU -lGL
else ifeq ($(OS), WINDOWS)
+ALL = gui.exe
CC = i686-w64-mingw32-gcc
CXX = i686-w64-mingw32-g++
CFLAGS = -O2 -Wall -D$(OS)
@@ -22,21 +30,31 @@ CXXFLAGS = $(CFLAGS) `$(WXCONFIG) --cppflags`
LDFLAGS = -static -static-libgcc
WXCONFIG = ~/wxwidgets/3.0.2.mingw-opengl/bin/wx-config
CLILIBS = -lglut32 -lglu32 -lopengl32
+VERSION = 0.01
endif
-all: gui imuread
+all: $(ALL)
gui: gui.o visualize.o serialdata.o
$(CXX) -s $(CFLAGS) $(LDFLAGS) -o $@ $^ `$(WXCONFIG) --libs all,opengl`
-ifeq ($(OS), WINDOWS)
- cp gui gui.exe
-endif
+gui.exe: gui
+ cp gui gui.exe
+
+gui.app: gui Info.plist
+ mkdir -p $@/Contents/MacOS
+ mkdir -p $@/Contents/Resources/English.lproj
+ sed "s/1.234/$(VERSION)/g" Info.plist > $@/Contents/Info.plist
+ /bin/echo -n 'APPL????' > $@/Contents/PkgInfo
+ cp $< $@/Contents/MacOS/
+ #cp icon.icns $@/Contents/Resources/
+ touch $@
imuread: imuread.o visualize.o serialdata.o
$(CC) -s $(CFLAGS) $(LDFLAGS) -o $@ $^ $(CLILIBS)
clean:
rm -f gui imuread *.o *.exe
+ rm -rf gui.app .DS_Store
diff --git a/imuread.c b/imuread.c
index e86662d..424f230 100644
--- a/imuread.c
+++ b/imuread.c
@@ -1,4 +1,4 @@
-#if defined(LINUX) || defined(MACOSX)
+#if defined(LINUX)
#include "imuread.h"
#include // sudo apt-get install xorg-dev libglu1-mesa-dev freeglut3-dev
diff --git a/imuread.h b/imuread.h
index 0ce7e5c..71f0703 100644
--- a/imuread.h
+++ b/imuread.h
@@ -13,18 +13,26 @@
#if defined(LINUX)
#include
#include
+ #include
+ #include
#elif defined(WINDOWS)
#include
+ #include
+ #include
+#elif defined(MACOSX)
+ #include
+ #include
+ #include
+ #include
#endif
-#include
-#include
+
#if defined(LINUX)
#define PORT "/dev/ttyACM0"
#elif defined(WINDOWS)
#define PORT "COM3"
#elif defined(MACOSX)
- #define PORT "/dev/cu.usbmodem123"
+ #define PORT "/dev/cu.usbmodemfd132"
#endif
#define TIMEOUT_MSEC 40
diff --git a/serialdata.c b/serialdata.c
index 6acbb21..56e2423 100644
--- a/serialdata.c
+++ b/serialdata.c
@@ -157,7 +157,7 @@ static void newdata(const unsigned char *data, int len)
}
}
-#if defined(LINUX)
+#if defined(LINUX) || defined(MACOSX)
static int portfd=-1;
@@ -349,5 +349,4 @@ void close_port(void)
}
-
#endif