Modified Makefile to compile on Mac
@@ -2,11 +2,31 @@ all : lib data_recorder test calibrate calibrate_client
CC:=gcc
+
CFLAGS:=-Iinclude/libsurvive -I. -fPIC -g -O3 -Iredist -flto -DUSE_DOUBLE -std=gnu99 -rdynamic
-LDFLAGS:=-L/usr/local/lib -lpthread -lusb-1.0 -lz -lX11 -lm -flto -g
+LDFLAGS:=-L/usr/local/lib -lpthread -lusb-1.0 -lz -lm -flto -g
+
+#----------
+# Platform specific changes to CFLAGS/LDFLAGS
+#----------
+UNAME=$(shell uname)
+
+# Mac OSX
+ifeq ($(UNAME), Darwin)
+DRAWFUNCTIONS_C=redist/RawDrawNull.c
+GRAPHICS_LOFI:=redist/RawDrawNull.o
+
+# Linux / FreeBSD
+else
+LDFLAGS:=$(LDFLAGS) -lX11
+DRAWFUNCTIONS_C=redist/XDriver.c redist/DrawFunctions.c
+GRAPHICS_LOFI:=redist/DrawFunctions.o redist/XDriver.o
+
+endif
+
POSERS:=src/poser_dummy.o src/poser_daveortho.o src/poser_charlesslow.o
-REDISTS:=redist/json_helpers.o redist/linmath.o redist/jsmn.o
+REDISTS:=redist/json_helpers.o redist/linmath.o redist/jsmn.o redist/os_generic.o
LIBSURVIVE_CORE:=src/survive.o src/survive_usb.o src/survive_data.o src/survive_process.o src/ootx_decoder.o src/survive_driverman.o src/survive_vive.o src/survive_config.o src/survive_cal.o
LIBSURVIVE_CORE:=$(LIBSURVIVE_CORE)
LIBSURVIVE_O:=$(POSERS) $(REDISTS) $(LIBSURVIVE_CORE)
@@ -21,7 +41,6 @@ LIBSURVIVE_C:=$(LIBSURVIVE_O:.o=.c)
# -DRUNTIME_SYMNUM = Don't assume __attribute__((constructor)) works. Instead comb for anything starting with REGISTER.
-GRAPHICS_LOFI:=redist/DrawFunctions.o redist/XDriver.o
# unused: redist/crc32.c
@@ -38,7 +57,7 @@ calibrate_client : calibrate_client.c ./lib/libsurvive.so redist/os_generic.c $
$(CC) -o $@ $^ $(LDFLAGS) $(CFLAGS)
## Still not working!!! Don't use.
-static_calibrate : calibrate.c redist/os_generic.c redist/XDriver.c redist/DrawFunctions.c $(LIBSURVIVE_C)
+static_calibrate : calibrate.c redist/os_generic.c $(DRAWFUNCTIONS) $(LIBSURVIVE_C)
tcc -o $@ $^ $(CFLAGS) $(LDFLAGS) -DTCC
lib:
@@ -49,7 +68,7 @@ lib/libsurvive.so : $(LIBSURVIVE_O)
calibrate_tcc : $(LIBSURVIVE_C)
- tcc -DRUNTIME_SYMNUM $(CFLAGS) -o $@ $^ $(LDFLAGS) calibrate.c redist/XDriver.c redist/os_generic.c redist/DrawFunctions.c redist/symbol_enumerator.c
+ tcc -DRUNTIME_SYMNUM $(CFLAGS) -o $@ $^ $(LDFLAGS) calibrate.c redist/os_generic.c $(DRAWFUNCTIONS) redist/symbol_enumerator.c
clean :
rm -rf *.o src/*.o *~ src/*~ test data_recorder lib/libsurvive.so redist/*.o redist/*~
