MotionCal/Makefile

111 lines
3.1 KiB
Makefile
Raw Normal View History

OS = LINUX
2016-02-19 17:05:16 -08:00
#OS = MACOSX
2016-03-30 05:57:30 -07:00
#OS = MACOSX_CLANG
#OS = WINDOWS
2016-02-19 17:05:16 -08:00
ifeq ($(OS), LINUX)
2016-04-01 05:37:52 -07:00
ALL = MotionCal imuread
2016-02-14 15:00:53 -08:00
CC = gcc
2016-02-19 17:05:16 -08:00
CXX = g++
CFLAGS = -O2 -Wall -D$(OS)
WXCONFIG = ~/wxwidgets/3.0.2.gtk2-opengl/bin/wx-config
WXFLAGS = `$(WXCONFIG) --cppflags`
2016-02-19 17:05:16 -08:00
CXXFLAGS = $(CFLAGS) `$(WXCONFIG) --cppflags`
LDFLAGS =
2016-03-30 05:57:30 -07:00
SFLAG = -s
CLILIBS = -lglut -lGLU -lGL -lm
MAKEFLAGS = --jobs=12
2016-02-19 17:05:16 -08:00
else ifeq ($(OS), MACOSX)
2016-04-01 06:29:44 -07:00
ALL = MotionCal.dmg
2016-02-20 13:46:16 -08:00
CC = gcc-4.2
CXX = g++-4.2
CFLAGS = -O2 -Wall -D$(OS)
WXCONFIG = ~/wxwidgets/3.0.2.mac-opengl/bin/wx-config
WXFLAGS = `$(WXCONFIG) --cppflags`
CXXFLAGS = $(CFLAGS) `$(WXCONFIG) --cppflags`
2016-03-30 05:57:30 -07:00
SFLAG = -s
CLILIBS = -lglut -lGLU -lGL -lm
2016-04-01 01:08:40 -07:00
VERSION = 0.01
2016-03-30 05:57:30 -07:00
else ifeq ($(OS), MACOSX_CLANG)
2016-04-01 05:37:52 -07:00
ALL = MotionCal.app
2016-03-30 05:57:30 -07:00
CC = /usr/bin/clang
CXX = /usr/bin/clang++
CFLAGS = -O2 -Wall -DMACOSX
WXCONFIG = wx-config
WXFLAGS = `$(WXCONFIG) --cppflags`
2016-03-30 05:57:30 -07:00
CXXFLAGS = $(CFLAGS) `$(WXCONFIG) --cppflags`
SFLAG =
CLILIBS = -lglut -lGLU -lGL -lm
2016-04-01 01:08:40 -07:00
VERSION = 0.01
2016-02-19 17:05:16 -08:00
else ifeq ($(OS), WINDOWS)
2016-04-01 05:37:52 -07:00
ALL = MotionCal.exe
#MINGW_TOOLCHAIN = i586-mingw32msvc
MINGW_TOOLCHAIN = i686-w64-mingw32
CC = $(MINGW_TOOLCHAIN)-gcc
CXX = $(MINGW_TOOLCHAIN)-g++
WINDRES = $(MINGW_TOOLCHAIN)-windres
2016-02-19 17:05:16 -08:00
CFLAGS = -O2 -Wall -D$(OS)
WXFLAGS = `$(WXCONFIG) --cppflags`
CXXFLAGS = $(CFLAGS) $(WXFLAGS)
2016-02-19 17:05:16 -08:00
LDFLAGS = -static -static-libgcc
2016-03-30 05:57:30 -07:00
SFLAG = -s
#WXCONFIG = ~/wxwidgets/3.0.2.mingw-opengl-i586/bin/wx-config
#WXCONFIG = ~/wxwidgets/3.0.2.mingw-opengl/bin/wx-config
WXCONFIG = ~/wxwidgets/3.1.0.mingw-opengl/bin/wx-config
CLILIBS = -lglut32 -lglu32 -lopengl32 -lm
2016-04-01 01:08:40 -07:00
MAKEFLAGS = --jobs=12
2016-02-19 17:05:16 -08:00
endif
2016-02-13 16:06:36 -08:00
2016-03-20 14:24:01 -07:00
OBJS = visualize.o serialdata.o rawdata.o magcal.o matrix.o fusion.o quality.o mahony.o
2016-02-16 17:19:44 -08:00
2016-02-20 13:46:16 -08:00
all: $(ALL)
2016-02-16 17:19:44 -08:00
2016-04-01 05:37:52 -07:00
MotionCal: gui.o portlist.o $(OBJS)
2016-03-30 05:57:30 -07:00
$(CXX) $(SFLAG) $(CFLAGS) $(LDFLAGS) -o $@ $^ `$(WXCONFIG) --libs all,opengl`
2016-02-20 13:46:16 -08:00
2016-04-02 12:24:40 -07:00
MotionCal.exe: resource.o gui.o portlist.o $(OBJS)
$(CXX) $(SFLAG) $(CFLAGS) $(LDFLAGS) -o $@ $^ `$(WXCONFIG) --libs all,opengl`
2016-04-01 06:29:44 -07:00
-pjrcwinsigntool $@
2016-03-16 01:30:33 -07:00
-./cp_windows.sh $@
2016-02-19 17:05:16 -08:00
resource.o: resource.rc icon.ico
$(WINDRES) $(WXFLAGS) -o resource.o resource.rc
2016-04-02 12:24:40 -07:00
MotionCal.app: MotionCal Info.plist icon.icns
2016-02-20 13:46:16 -08:00
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/
2016-04-02 12:24:40 -07:00
cp icon.icns $@/Contents/Resources/
2016-04-01 06:29:44 -07:00
-pjrcmacsigntool $@
2016-02-20 13:46:16 -08:00
touch $@
2016-02-16 17:19:44 -08:00
2016-04-01 06:29:44 -07:00
MotionCal.dmg: MotionCal.app
mkdir -p dmg_tmpdir
cp -r $< dmg_tmpdir
hdiutil create -ov -srcfolder dmg_tmpdir -megabytes 20 -format UDBZ -volname MotionCal $@
imuread: imuread.o $(OBJS)
2016-02-19 17:05:16 -08:00
$(CC) -s $(CFLAGS) $(LDFLAGS) -o $@ $^ $(CLILIBS)
2016-02-13 16:06:36 -08:00
clean:
2016-04-01 06:29:44 -07:00
rm -f gui MotionCal imuread *.o *.exe *.sign?
rm -rf MotionCal.app MotionCal.dmg .DS_Store dmg_tmpdir
2016-04-01 05:37:52 -07:00
gui.o: gui.cpp gui.h imuread.h Makefile
portlist.o: portlist.cpp gui.h Makefile
imuread.o: imuread.c imuread.h Makefile
visualize.o: visualize.c imuread.h Makefile
serialdata.o: serialdata.c imuread.h Makefile
rawdata.o: rawdata.c imuread.h Makefile
magcal.o: magcal.c imuread.h Makefile
matrix.o: matrix.c imuread.h Makefile
fusion.o: fusion.c imuread.h Makefile
quality.o: quality.c imuread.h Makefile
mahony.o: mahony.c imuread.h Makefile