summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rwxr-xr-xMakefile82
1 files changed, 82 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100755
index 0000000..62a3687
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,82 @@
+#############################################################################
+#
+# Filename : Makefile
+# Content : Makefile for building linux libovr and OculusWorldDemo
+# 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 versions for the
+# current architechture
+# make clean delete intermediate release object files
+# and library and executable
+# make DEBUG=1 builds the debug version for the current
+# architechture
+# make clean DEBUG=1 deletes intermediate debug object files
+# and the library and executable
+#
+# Output : Relative to the directory this Makefile lives in, libraries
+# and executables are built at the following locations
+# depending upon the architechture of the system you are
+# running:
+#
+# ./LibOVR/Lib/Linux/Debug/i386/libovr.a
+# ./LibOVR/Lib/Linux/Debug/x86_64/libovr.a
+# ./LibOVR/Lib/Linux/Release/i386/libovr.a
+# ./LibOVR/Lib/Linux/Release/x86_64/libovr.a
+# ./Samples/OculusWorldDemo/Release/OculusWorldDemo_i386_Release
+# ./Samples/OculusWorldDemo/Release/OculusWorldDemo_x86_64_Release
+# ./Samples/OculusWorldDemo/Release/OculusWorldDemo_i386_Debug
+# ./Samples/OculusWorldDemo/Release/OculusWorldDemo_x86_64_Debug
+#
+#############################################################################
+
+####### 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)
+ RELEASETYPE = Debug
+else
+ RELEASETYPE = Release
+endif
+
+####### Paths
+
+LIBOVRPATH = ./LibOVR
+DEMOPATH = ./Samples/OculusWorldDemo
+
+####### Files
+
+LIBOVRTARGET = $(LIBOVRPATH)/Lib/Linux/$(RELEASETYPE)/$(SYSARCH)/libovr.a
+DEMOTARGET = $(DEMOPATH)/Release/OculusWorldDemo_$(RELEASETYPE)/$(SYSARCH)
+
+####### Rules
+
+all: $(LIBOVRTARGET) $(DEMOTARGET)
+
+$(DEMOTARGET): $(DEMOPATH)/Makefile
+ $(MAKE) -C $(DEMOPATH) DEBUG=$(DEBUG)
+
+$(LIBOVRTARGET): $(LIBOVRPATH)/Makefile
+ $(MAKE) -C $(LIBOVRPATH) DEBUG=$(DEBUG)
+
+clean:
+ $(MAKE) -C $(LIBOVRPATH) clean DEBUG=$(DEBUG)
+ $(MAKE) -C $(DEMOPATH) clean DEBUG=$(DEBUG)
+