From 2312575ace9e9e5d950bee30e22c46c9a79de94d Mon Sep 17 00:00:00 2001 From: PaulStoffregen Date: Sat, 20 Feb 2016 13:46:16 -0800 Subject: [PATCH] Port to Macintosh --- Info.plist | 40 ++++++++++++++++++++++++++++++++++++++++ Makefile | 32 +++++++++++++++++++++++++------- imuread.c | 2 +- imuread.h | 14 +++++++++++--- serialdata.c | 3 +-- 5 files changed, 78 insertions(+), 13 deletions(-) create mode 100644 Info.plist 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