diff options
Diffstat (limited to 'LibOVR')
-rw-r--r-- | LibOVR/Makefile | 215 | ||||
-rw-r--r-- | LibOVR/Projects/Linux/Makefile | 85 | ||||
-rw-r--r-- | LibOVR/Projects/Linux/Makefile.common | 37 | ||||
-rw-r--r-- | LibOVR/Src/Kernel/OVR_Types.h | 14 |
4 files changed, 129 insertions, 222 deletions
diff --git a/LibOVR/Makefile b/LibOVR/Makefile deleted file mode 100644 index 174e8a5..0000000 --- a/LibOVR/Makefile +++ /dev/null @@ -1,215 +0,0 @@ -############################################################################# -# -# Filename : Makefile -# Content : Makefile for building linux version of: libovr -# Created : 2013 -# Authors : Simon Hallam and Peter Giokaris -# Copyright : Copyright 2013 OculusVR, Inc. All Rights Reserved -# Instruction : The g++ compiler and stdndard lib packages need to be -# installed on the system. Navigate in a shell to the -# directory where this Makefile is located and enter: -# -# make builds the release version for the -# current architechture -# make clean delete intermediate release object files -# and the library file -# make DEBUG=1 builds the debug version for the current -# architechture -# make clean DEBUG=1 deletes intermediate debug object files -# and the library file -# -# Output : Relative to the directory this Makefile lives in, libraries -# are built at the following locations depending upon the -# architechture of the system you are running: -# -# ./Lib/Linux/Debug/i386/libovr.a -# ./Lib/Linux/Debug/x86_64/libovr.a -# ./Lib/Linux/Release/i386/libovr.a -# ./Lib/Linux/Release/x86_64/libovr.a -# -############################################################################# - -####### Detect system architecture - -SYSARCH = i386 -ifeq ($(shell uname -m),x86_64) -SYSARCH = x86_64 -endif - -####### Compiler, tools and options - -CXX = g++ -LINK = ar rvs -DELETEFILE = rm -f - -####### Detect debug or release - -DEBUG = 0 -ifeq ($(DEBUG), 1) - CXXFLAGS = -pipe -fPIC -DDEBUG -g - RELEASETYPE = Debug -else - CXXFLAGS = -pipe -fPIC -O2 - RELEASETYPE = Release -endif - -####### Paths - -LIBOVRPATH = . -3RDPARTYPATH = ../3rdParty -INCPATH = -I. -I.. -I$(LIBOVRPATH)/Include -I$(LIBOVRPATH)/Src -OBJPATH = ./Obj/Linux/$(RELEASETYPE)/$(SYSARCH) -CXXBUILD = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $(OBJPATH)/ - -####### Files - -TARGET = ./Lib/Linux/$(RELEASETYPE)/$(SYSARCH)/libovr.a - -OBJECTS = $(OBJPATH)/OVR_DeviceHandle.o \ - $(OBJPATH)/OVR_DeviceImpl.o \ - $(OBJPATH)/OVR_JSON.o \ - $(OBJPATH)/OVR_LatencyTestImpl.o \ - $(OBJPATH)/OVR_Profile.o \ - $(OBJPATH)/OVR_SensorFilter.o\ - $(OBJPATH)/OVR_SensorFusion.o\ - $(OBJPATH)/OVR_SensorImpl.o \ - $(OBJPATH)/OVR_ThreadCommandQueue.o \ - $(OBJPATH)/OVR_Alg.o \ - $(OBJPATH)/OVR_Allocator.o \ - $(OBJPATH)/OVR_Atomic.o \ - $(OBJPATH)/OVR_File.o \ - $(OBJPATH)/OVR_FileFILE.o \ - $(OBJPATH)/OVR_Log.o \ - $(OBJPATH)/OVR_Math.o \ - $(OBJPATH)/OVR_RefCount.o \ - $(OBJPATH)/OVR_Std.o \ - $(OBJPATH)/OVR_String.o \ - $(OBJPATH)/OVR_String_FormatUtil.o \ - $(OBJPATH)/OVR_String_PathUtil.o \ - $(OBJPATH)/OVR_SysFile.o \ - $(OBJPATH)/OVR_System.o \ - $(OBJPATH)/OVR_Timer.o \ - $(OBJPATH)/OVR_UTF8Util.o \ - $(OBJPATH)/Util_LatencyTest.o \ - $(OBJPATH)/Util_MagCalibration.o \ - $(OBJPATH)/Util_Render_Stereo.o \ - $(OBJPATH)/OVR_ThreadsPthread.o \ - $(OBJPATH)/OVR_Linux_HIDDevice.o \ - $(OBJPATH)/OVR_Linux_SensorDevice.o \ - $(OBJPATH)/OVR_Linux_DeviceManager.o \ - $(OBJPATH)/OVR_Linux_HMDDevice.o \ - $(OBJPATH)/tinyxml2.o - -####### Rules - -all: $(TARGET) - -$(TARGET): $(OBJECTS) - $(LINK) $(TARGET) $(OBJECTS) - -$(OBJPATH)/OVR_DeviceHandle.o: $(LIBOVRPATH)/Src/OVR_DeviceHandle.cpp - $(CXXBUILD)OVR_DeviceHandle.o $(LIBOVRPATH)/Src/OVR_DeviceHandle.cpp - -$(OBJPATH)/OVR_DeviceImpl.o: $(LIBOVRPATH)/Src/OVR_DeviceImpl.cpp - $(CXXBUILD)OVR_DeviceImpl.o $(LIBOVRPATH)/Src/OVR_DeviceImpl.cpp - -$(OBJPATH)/OVR_JSON.o: $(LIBOVRPATH)/Src/OVR_JSON.cpp - $(CXXBUILD)OVR_JSON.o $(LIBOVRPATH)/Src/OVR_JSON.cpp - -$(OBJPATH)/OVR_LatencyTestImpl.o: $(LIBOVRPATH)/Src/OVR_LatencyTestImpl.cpp - $(CXXBUILD)OVR_LatencyTestImpl.o $(LIBOVRPATH)/Src/OVR_LatencyTestImpl.cpp - -$(OBJPATH)/OVR_Profile.o: $(LIBOVRPATH)/Src/OVR_Profile.cpp - $(CXXBUILD)OVR_Profile.o $(LIBOVRPATH)/Src/OVR_Profile.cpp - -$(OBJPATH)/OVR_SensorFilter.o: $(LIBOVRPATH)/Src/OVR_SensorFilter.cpp - $(CXXBUILD)OVR_SensorFilter.o $(LIBOVRPATH)/Src/OVR_SensorFilter.cpp - -$(OBJPATH)/OVR_SensorFusion.o: $(LIBOVRPATH)/Src/OVR_SensorFusion.cpp - $(CXXBUILD)OVR_SensorFusion.o $(LIBOVRPATH)/Src/OVR_SensorFusion.cpp - -$(OBJPATH)/OVR_SensorImpl.o: $(LIBOVRPATH)/Src/OVR_SensorImpl.cpp - $(CXXBUILD)OVR_SensorImpl.o $(LIBOVRPATH)/Src/OVR_SensorImpl.cpp - -$(OBJPATH)/OVR_ThreadCommandQueue.o: $(LIBOVRPATH)/Src/OVR_ThreadCommandQueue.cpp - $(CXXBUILD)OVR_ThreadCommandQueue.o $(LIBOVRPATH)/Src/OVR_ThreadCommandQueue.cpp - -$(OBJPATH)/OVR_Alg.o: $(LIBOVRPATH)/Src/Kernel/OVR_Alg.cpp - $(CXXBUILD)OVR_Alg.o $(LIBOVRPATH)/Src/Kernel/OVR_Alg.cpp - -$(OBJPATH)/OVR_Allocator.o: $(LIBOVRPATH)/Src/Kernel/OVR_Allocator.cpp - $(CXXBUILD)OVR_Allocator.o $(LIBOVRPATH)/Src/Kernel/OVR_Allocator.cpp - -$(OBJPATH)/OVR_Atomic.o: $(LIBOVRPATH)/Src/Kernel/OVR_Atomic.cpp - $(CXXBUILD)OVR_Atomic.o $(LIBOVRPATH)/Src/Kernel/OVR_Atomic.cpp - -$(OBJPATH)/OVR_File.o: $(LIBOVRPATH)/Src/Kernel/OVR_File.cpp - $(CXXBUILD)OVR_File.o $(LIBOVRPATH)/Src/Kernel/OVR_File.cpp - -$(OBJPATH)/OVR_FileFILE.o: $(LIBOVRPATH)/Src/Kernel/OVR_FileFILE.cpp - $(CXXBUILD)OVR_FileFILE.o $(LIBOVRPATH)/Src/Kernel/OVR_FileFILE.cpp - -$(OBJPATH)/OVR_Log.o: $(LIBOVRPATH)/Src/Kernel/OVR_Log.cpp - $(CXXBUILD)OVR_Log.o $(LIBOVRPATH)/Src/Kernel/OVR_Log.cpp - -$(OBJPATH)/OVR_Math.o: $(LIBOVRPATH)/Src/Kernel/OVR_Math.cpp - $(CXXBUILD)OVR_Math.o $(LIBOVRPATH)/Src/Kernel/OVR_Math.cpp - -$(OBJPATH)/OVR_RefCount.o: $(LIBOVRPATH)/Src/Kernel/OVR_RefCount.cpp - $(CXXBUILD)OVR_RefCount.o $(LIBOVRPATH)/Src/Kernel/OVR_RefCount.cpp - -$(OBJPATH)/OVR_Std.o: $(LIBOVRPATH)/Src/Kernel/OVR_Std.cpp - $(CXXBUILD)OVR_Std.o $(LIBOVRPATH)/Src/Kernel/OVR_Std.cpp - -$(OBJPATH)/OVR_String.o: $(LIBOVRPATH)/Src/Kernel/OVR_String.cpp - $(CXXBUILD)OVR_String.o $(LIBOVRPATH)/Src/Kernel/OVR_String.cpp - -$(OBJPATH)/OVR_String_FormatUtil.o: $(LIBOVRPATH)/Src/Kernel/OVR_String_FormatUtil.cpp - $(CXXBUILD)OVR_String_FormatUtil.o $(LIBOVRPATH)/Src/Kernel/OVR_String_FormatUtil.cpp - -$(OBJPATH)/OVR_String_PathUtil.o: $(LIBOVRPATH)/Src/Kernel/OVR_String_PathUtil.cpp - $(CXXBUILD)OVR_String_PathUtil.o $(LIBOVRPATH)/Src/Kernel/OVR_String_PathUtil.cpp - -$(OBJPATH)/OVR_SysFile.o: $(LIBOVRPATH)/Src/Kernel/OVR_SysFile.cpp - $(CXXBUILD)OVR_SysFile.o $(LIBOVRPATH)/Src/Kernel/OVR_SysFile.cpp - -$(OBJPATH)/OVR_System.o: $(LIBOVRPATH)/Src/Kernel/OVR_System.cpp - $(CXXBUILD)OVR_System.o $(LIBOVRPATH)/Src/Kernel/OVR_System.cpp - -$(OBJPATH)/OVR_Timer.o: $(LIBOVRPATH)/Src/Kernel/OVR_Timer.cpp - $(CXXBUILD)OVR_Timer.o $(LIBOVRPATH)/Src/Kernel/OVR_Timer.cpp - -$(OBJPATH)/OVR_UTF8Util.o: $(LIBOVRPATH)/Src/Kernel/OVR_UTF8Util.cpp - $(CXXBUILD)OVR_UTF8Util.o $(LIBOVRPATH)/Src/Kernel/OVR_UTF8Util.cpp - -$(OBJPATH)/Util_LatencyTest.o: $(LIBOVRPATH)/Src/Util/Util_LatencyTest.cpp - $(CXXBUILD)Util_LatencyTest.o $(LIBOVRPATH)/Src/Util/Util_LatencyTest.cpp - -$(OBJPATH)/Util_MagCalibration.o: $(LIBOVRPATH)/Src/Util/Util_MagCalibration.cpp - $(CXXBUILD)Util_MagCalibration.o $(LIBOVRPATH)/Src/Util/Util_MagCalibration.cpp - -$(OBJPATH)/Util_Render_Stereo.o: $(LIBOVRPATH)/Src/Util/Util_Render_Stereo.cpp - $(CXXBUILD)Util_Render_Stereo.o $(LIBOVRPATH)/Src/Util/Util_Render_Stereo.cpp - -$(OBJPATH)/OVR_ThreadsPthread.o: $(LIBOVRPATH)/Src/Kernel/OVR_ThreadsPthread.cpp - $(CXXBUILD)OVR_ThreadsPthread.o $(LIBOVRPATH)/Src/Kernel/OVR_ThreadsPthread.cpp - -$(OBJPATH)/OVR_Linux_HIDDevice.o: $(LIBOVRPATH)/Src/OVR_Linux_HIDDevice.cpp - $(CXXBUILD)OVR_Linux_HIDDevice.o $(LIBOVRPATH)/Src/OVR_Linux_HIDDevice.cpp - -$(OBJPATH)/OVR_Linux_SensorDevice.o: $(LIBOVRPATH)/Src/OVR_Linux_SensorDevice.cpp - $(CXXBUILD)OVR_Linux_SensorDevice.o $(LIBOVRPATH)/Src/OVR_Linux_SensorDevice.cpp - -$(OBJPATH)/OVR_Linux_DeviceManager.o: $(LIBOVRPATH)/Src/OVR_Linux_DeviceManager.cpp - $(CXXBUILD)OVR_Linux_DeviceManager.o $(LIBOVRPATH)/Src/OVR_Linux_DeviceManager.cpp - -$(OBJPATH)/OVR_Linux_HMDDevice.o: $(LIBOVRPATH)/Src/OVR_Linux_HMDDevice.cpp - $(CXXBUILD)OVR_Linux_HMDDevice.o $(LIBOVRPATH)/Src/OVR_Linux_HMDDevice.cpp - -$(OBJPATH)/tinyxml2.o: $(3RDPARTYPATH)/TinyXml/tinyxml2.cpp - $(CXXBUILD)tinyxml2.o $(3RDPARTYPATH)/TinyXml/tinyxml2.cpp - -clean: - -$(DELETEFILE) $(OBJECTS) - -$(DELETEFILE) $(TARGET) - diff --git a/LibOVR/Projects/Linux/Makefile b/LibOVR/Projects/Linux/Makefile new file mode 100644 index 0000000..008a158 --- /dev/null +++ b/LibOVR/Projects/Linux/Makefile @@ -0,0 +1,85 @@ +############################################################################# +# +# Filename : Makefile +# Content : Makefile for building linux version of: libovr +# Created : 2013 +# Authors : Simon Hallam and Peter Giokaris +# Copyright : Copyright 2013 OculusVR, Inc. All Rights Reserved +# Instruction : The g++ compiler and stdndard lib packages need to be +# installed on the system. Navigate in a shell to the +# directory where this Makefile is located and enter: +# +# make builds the release version for the +# current architechture +# make clean delete intermediate release object files +# and the library file +# make DEBUG=1 builds the debug version for the current +# architechture +# make clean DEBUG=1 deletes intermediate debug object files +# and the library file +# +# Output : Relative to the directory this Makefile lives in, libraries +# are built at the following locations depending upon the +# architechture of the system you are running: +# +# ./Lib/Linux/Debug/i386/libovr.a +# ./Lib/Linux/Debug/x86_64/libovr.a +# ./Lib/Linux/Release/i386/libovr.a +# ./Lib/Linux/Release/x86_64/libovr.a +# +############################################################################# + +##### Build flags + +DEBUG = 0 +OVR_ROOT = ../../.. + +include $(OVR_ROOT)/LibOVR/Projects/Linux/Makefile.common + +LINK = $(LINK_ARCHIVE) +INCPATH = $(LIBOVRINCPATH) +SRCPATH = $(LIBOVRPATH)/Src +OBJPATH = $(LIBOVRPATH)/Obj/Linux/$(CUSTOM_PATH) +TARGETPATH = $(LIBOVRPATH)/Lib/Linux/$(CUSTOM_PATH) + +CXXBUILD = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $(OBJPATH)/ + +####### Files + +TARGET = $(TARGETPATH)/libovr.a + +# Filter out Windows and OSX files +CPP_SRCS = $(filter-out \ + $(SRCPATH)/OVR_Win32%.cpp \ + ${SRCPATH}/OVR_OSX%.cpp \ + ${SRCPATH}/OVR_Posix%.cpp \ + ${SRCPATH}/Kernel/OVR_ThreadsWinAPI.cpp \ + , $(shell find ${SRCPATH} -name *.cpp)) \ + + +OBJECTS = $(patsubst ${SRCPATH}/%.cpp, ${OBJPATH}/%.o, ${CPP_SRCS}) $(OBJPATH)/tinyxml2.o + +DIRS = $(subst /,/,$(sort $(dir $(OBJECTS)))) $(TARGETPATH) + +####### Rules + +all: $(TARGET) + +$(TARGET): $(TARGET_PATH) $(OBJECTS) $(LIBOVRTARGET_PATH) + $(MD) -p $(DIRS) + $(LINK) $(TARGET) $(OBJECTS) + +$(OBJPATH): + $(MD) -p $(DIRS) + +$(OBJPATH)/%.o: $(SRCPATH)/%.cpp + $(MD) -p $(DIRS) + $(CXXBUILD) -o "$@" "$<" + +$(OBJPATH)/tinyxml2.o: $(3RDPARTYPATH)/TinyXml/tinyxml2.cpp + $(CXXBUILD) -o "$@" "$<" + +clean: + -$(DELETEFILE) $(OBJECTS) + -$(DELETEFILE) $(TARGET) + diff --git a/LibOVR/Projects/Linux/Makefile.common b/LibOVR/Projects/Linux/Makefile.common new file mode 100644 index 0000000..1335b87 --- /dev/null +++ b/LibOVR/Projects/Linux/Makefile.common @@ -0,0 +1,37 @@ +############################################################################# +# +# Filename : Makefile.common +# Content : Common values for all makefiles in the Oculus SDK +# +# You must define OVR_ROOT before including this file +# +############################################################################# + +CXX = g++ +CXXFLAGS = -fPIC -pipe $(DEFINES) +MD = mkdir +DELETEFILE = rm -f +LINK_ARCHIVE = ar rvs +LINK_LIBRARY = +LINK_EXE = g++ +SYSARCH = $(shell uname -m) + +####### Detect debug or release + +ifeq ($(DEBUG), 1) + CXXFLAGS += -DDEBUG -g + RELEASETYPE = Debug +else + CXXFLAGS += -O2 + RELEASETYPE = Release +endif + +CUSTOM_PATH = $(RELEASETYPE)/$(SYSARCH) + +####### Paths +LIBOVRPATH = $(OVR_ROOT)/LibOVR +3RDPARTYPATH = $(OVR_ROOT)/3rdParty +LIBOVRINCPATH = -I$(LIBOVRPATH)/Include -I$(LIBOVRPATH)/Src +LIBOVRLIBPATH = $(LIBOVRPATH)/Lib/Linux/$(CUSTOM_PATH) +LIBOVRARCHIVE = $(LIBOVRLIBPATH)/libovr.a + diff --git a/LibOVR/Src/Kernel/OVR_Types.h b/LibOVR/Src/Kernel/OVR_Types.h index db024f1..adf678a 100644 --- a/LibOVR/Src/Kernel/OVR_Types.h +++ b/LibOVR/Src/Kernel/OVR_Types.h @@ -4,7 +4,7 @@ PublicHeader: OVR.h Filename : OVR_Types.h Content : Standard library defines and simple types Created : September 19, 2012 -Notes : +Notes : Copyright : Copyright 2012 Oculus VR, Inc. All Rights reserved. @@ -215,7 +215,7 @@ typedef unsigned long UInt32; typedef __int64 SInt64; // 64 bit Integer (QWord) typedef unsigned __int64 UInt64; - + #elif defined(OVR_OS_MAC) || defined(OVR_OS_IPHONE) || defined(OVR_CC_GNU) typedef int SByte __attribute__((__mode__ (__QI__))); @@ -276,7 +276,7 @@ namespace BaseTypes // OVR_FORCE_INLINE - Forces inline expansion of function // OVR_ASM - Assembly language prefix // OVR_STR - Prefixes string with L"" if building unicode -// +// // OVR_STDCALL - Use stdcall calling convention (Pascal arg order) // OVR_CDECL - Use cdecl calling convention (C argument order) // OVR_FASTCALL - Use fastcall calling convention (registers) @@ -298,7 +298,7 @@ namespace BaseTypes #if defined(OVR_OS_WIN32) - + // ***** Win32 // Byte order @@ -340,12 +340,12 @@ namespace BaseTypes #else # define OVR_BYTE_ORDER OVR_LITTLE_ENDIAN #endif - + // Assembly macros #define OVR_ASM __asm__ #define OVR_ASM_PROC(procname) OVR_ASM #define OVR_ASM_END OVR_ASM - + // Calling convention - goes after function return type but before function name #define OVR_FASTCALL #define OVR_STDCALL @@ -364,7 +364,7 @@ namespace BaseTypes # define OVR_DEBUG_BREAK ((void)0) # define OVR_ASSERT(p) ((void)0) -#else +#else // Microsoft Win32 specific debugging support #if defined(OVR_OS_WIN32) |