aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcnlohr <lohr85@gmail.com>2018-04-15 17:43:12 -0400
committercnlohr <lohr85@gmail.com>2018-04-15 17:43:12 -0400
commit0ab91a6e9374f190c049a5d8ea1319b9b37529c1 (patch)
tree85398db4a4d5a40b3adec733fe1d1e183e13f3b8
parentdd9936ef174746b73a688706de9c4a14fca2d58e (diff)
downloadlibsurvive-0ab91a6e9374f190c049a5d8ea1319b9b37529c1.tar.gz
libsurvive-0ab91a6e9374f190c049a5d8ea1319b9b37529c1.tar.bz2
Move things into attic and update Makefile to do dependnencies.
-rw-r--r--Makefile117
-rwxr-xr-xattic/dave/AffineSolve (renamed from dave/AffineSolve)bin40104 -> 40104 bytes
-rw-r--r--attic/dave/AffineSolve.c (renamed from dave/AffineSolve.c)0
-rw-r--r--attic/dave/AffineSolve.c.CHARLES (renamed from dave/AffineSolve.c.CHARLES)0
-rw-r--r--attic/dave/HMD_normals.csv (renamed from dave/HMD_normals.csv)0
-rw-r--r--attic/dave/HMD_points.csv (renamed from dave/HMD_points.csv)0
-rw-r--r--attic/dave/Makefile (renamed from dave/Makefile)0
-rw-r--r--attic/dave/OrthoPlot.c (renamed from dave/OrthoPlot.c)0
-rwxr-xr-xattic/dave/dclapack_test (renamed from dave/dclapack_test)bin12960 -> 12960 bytes
-rw-r--r--attic/dave/dclapack_test.c (renamed from dave/dclapack_test.c)0
-rw-r--r--attic/dave/errors.txt (renamed from dave/errors.txt)0
-rw-r--r--attic/dave/fileutil.c (renamed from dave/fileutil.c)0
-rw-r--r--attic/dave/fileutil.h (renamed from dave/fileutil.h)0
-rw-r--r--attic/dave/kalman_filter.c (renamed from dave/kalman_filter.c)0
-rw-r--r--attic/dave/kalman_filter.h (renamed from dave/kalman_filter.h)0
-rw-r--r--attic/dave/main.c (renamed from dave/main.c)0
-rw-r--r--attic/dave/olddata/HMD_normals.csv (renamed from dave/olddata/HMD_normals.csv)0
-rw-r--r--attic/dave/olddata/HMD_points.csv (renamed from dave/olddata/HMD_points.csv)0
-rw-r--r--attic/dave/olddata/ptinfo.csv (renamed from dave/olddata/ptinfo.csv)0
-rw-r--r--attic/dave/ptinfo.csv (renamed from dave/ptinfo.csv)0
20 files changed, 69 insertions, 48 deletions
diff --git a/Makefile b/Makefile
index 24b95f6..d224772 100644
--- a/Makefile
+++ b/Makefile
@@ -1,34 +1,38 @@
-all : lib data_recorder test calibrate calibrate_client simple_pose_test
+all : buildfolders data_recorder test calibrate calibrate_client simple_pose_test
+.PHONY : help clean buildfolders
+LIBRARY:=./lib/libsurvive.so
+OBJDIR:=build
CC?=gcc
-CFLAGS:=-Iinclude/libsurvive -fPIC -g -Os -Iredist -flto -DUSE_DOUBLE -std=gnu99 -rdynamic #-fsanitize=address -fsanitize=undefined -Wall -Wno-unused-variable -Wno-switch -Wno-unused-but-set-variable -Wno-pointer-sign -Wno-parentheses
-CFLAGS_RELEASE:=-Iinclude/libsurvive -fPIC -msse2 -ftree-vectorize -Os -Iredist -flto -DUSE_DOUBLE -std=gnu99 -rdynamic
+CFLAGS+=-Iinclude/libsurvive -fPIC -g -O3 -Iredist -DUSE_DOUBLE -std=gnu99 -rdynamic -MD
+ifdef EXTRA_WARNINGS
+ CFLAGS+=-fsanitize=address -fsanitize=undefined -Wall -Wno-unused-variable -Wno-switch -Wno-unused-but-set-variable -Wno-pointer-sign -Wno-parentheses
+endif
-#LDFLAGS:=-L/usr/local/lib -lpthread -lusb-1.0 -lz -lm -flto -g
-LDFLAGS:=-L/usr/local/lib -lpthread -lz -lm -flto -g -llapacke -lcblas -lm #
-LDFLAGS_TOOLS:=-Llib -lsurvive -Wl,-rpath,lib -lX11 $(LDFLAGS)
-
-SBA:=redist/sba/sba_chkjac.o redist/sba/sba_crsm.o redist/sba/sba_lapack.o redist/sba/sba_levmar.o redist/sba/sba_levmar_wrap.o redist/minimal_opencv.o src/poser_epnp.o src/poser_sba.o src/epnp/epnp.o
-LIBSURVIVE_CORE:=src/survive.o src/survive_process.o src/ootx_decoder.o src/survive_driverman.o src/survive_default_devices.o src/survive_playback.o src/survive_config.o src/survive_cal.o src/poser.o src/survive_sensor_activations.o src/survive_disambiguator.o src/survive_imu.o
-MINIMAL_NEEDED:=src/survive_usb.o src/survive_charlesbiguator.o src/survive_vive.o src/poser_charlesrefine.o src/survive_reproject.o
-AUX_NEEDED:=src/survive_turveybiguator.o src/survive_statebased_disambiguator.o
+LDFLAGS+=-L/usr/local/lib -lpthread -lz -lm -g -llapacke -lcblas -lm
+LDFLAGS_TOOLS+=-Llib -lsurvive -Wl,-rpath,lib -lX11 $(LDFLAGS)
-POSERS:=src/poser_dummy.o src/poser_daveortho.o src/poser_charlesslow.o src/poser_octavioradii.o src/poser_turveytori.o src/poser_imu.o
-REDISTS:=redist/json_helpers.o redist/linmath.o redist/jsmn.o
-ifeq ($(BUILD), MINIMAL)
- LIBSURVIVE_O:=$(REDISTS) $(LIBSURVIVE_CORE) $(MINIMAL_NEEDED)
- LIBSURVIVE_C:=$(LIBSURVIVE_O:.o=.c)
+SBA:=redist/sba/sba_chkjac.c redist/sba/sba_crsm.c redist/sba/sba_lapack.c redist/sba/sba_levmar.c redist/sba/sba_levmar_wrap.c redist/minimal_opencv.c src/poser_epnp.c src/poser_sba.c src/epnp/epnp.c
+LIBSURVIVE_CORE:=src/survive.c src/survive_process.c src/ootx_decoder.c src/survive_driverman.c src/survive_default_devices.c src/survive_playback.c src/survive_config.c src/survive_cal.c src/poser.c src/survive_sensor_activations.c src/survive_disambiguator.c src/survive_imu.c
+MINIMAL_NEEDED:=src/survive_usb.c src/survive_charlesbiguator.c src/survive_vive.c src/survive_reproject.c
+AUX_NEEDED:=src/survive_turveybiguator.c src/survive_statebased_disambiguator.c
+POSERS:=src/poser_dummy.c src/poser_imu.c src/poser_charlesrefine.c
+EXTRA_POSERS:=src/poser_daveortho.c src/poser_charlesslow.c src/poser_octavioradii.c src/poser_turveytori.c
+REDISTS:=redist/json_helpers.c redist/linmath.c redist/jsmn.c
+ifdef MINIMAL
+ LIBSURVIVE_C:=$(REDISTS) $(LIBSURVIVE_CORE) $(MINIMAL_NEEDED)
else
- LIBSURVIVE_O:=$(POSERS) $(REDISTS) $(LIBSURVIVE_CORE) $(SBA) $(MINIMAL_NEEDED) $(AUX_NEEDED)
- LIBSURVIVE_C:=$(LIBSURVIVE_O:.o=.c)
+ LIBSURVIVE_C:=$(POSERS) $(REDISTS) $(LIBSURVIVE_CORE) $(SBA) $(MINIMAL_NEEDED) $(AUX_NEEDED)
endif
-
+LIBSURVIVE_O:=$(LIBSURVIVE_C:%.c=$(OBJDIR)/%.o)
+LIBSURVIVE_D:=$(LIBSURVIVE_C:%.c=$(OBJDIR)/%.d)
+-include $(LIBSURVIVE_D)
#----------
# Platform specific changes to CFLAGS/LDFLAGS
@@ -57,45 +61,55 @@ ifeq ($(UNAME), Darwin)
REDISTS:=$(REDISTS) redist/hid-osx.c
endif
-#If you want to use HIDAPI on Linux.
-#CFLAGS:=$(CFLAGS) -DHIDAPI
-#REDISTS:=$(REDISTS) redist/hid-linux.o
-#LDFLAGS:=$(LDFLAGS) -ludev
-
-#Useful Preprocessor Directives:
-# -DUSE_DOUBLE = use double instead of float for most operations.
-# -DNOZLIB = use puff.c
-# -DTCC = various things needed for TCC.
-# -DWINDOWS -DWIN32 = Building for Windows
-# -DHIDAPI = Build vive driver to use USBHID instead of interrupt/control messages.
-# -DRUNTIME_SYMNUM = Don't assume __attribute__((constructor)) works. Instead comb for anything starting with REGISTER.
+ifdef LINUX_USE_HIDAPI
+ CFLAGS:=$(CFLAGS) -DHIDAPI
+ REDISTS:=$(REDISTS) redist/hid-linux.o
+ LDFLAGS:=$(LDFLAGS) -ludev
+endif
+help :
+ @echo "Usage: make [flags]"
+ @echo " Build-system flags:"
+ @echo " MINIMAL=1 Buld a minimal build, geared for embedded systems."
+ @echo " LINUX_USE_HIDAPI=1 Build with HIDAPI in Linux instead of just libusb."
+ @echo " EXTRA_WARNINGS=1 Provide many mor warnings for build system."
+ @echo " CFLAGS= Specify additional CFLAGS."
+ @echo " LDFLAGS= Specify additional LDFLAGS."
+ @echo " CC= Specify
+ @echo " Useful Preprocessor Directives:"
+ @echo " -DUSE_DOUBLE Use double instead of float for most operations."
+ @echo " -DNOZLIB Use puff.c"
+ @echo " -DTCC Various things needed for TCC."
+ @echo " -DWINDOWS -DWIN32 Building for Windows."
+ @echo " -DRUNTIME_SYMNUM Don't assume __attribute__((constructor)) works. Instead comb for anything starting with REGISTER."
+ @echo " -flto Do link-time optimizations. This significantly increases period of time to link but improves performance.."
-# unused: redist/crc32.c
-testCocoa : testCocoa.c
+testCocoa : testCocoa.c $(LIBRARY)
$(CC) -o $@ $^ $(LDFLAGS_TOOLS) $(CFLAGS)
-test : test.c
+test : test.c $(LIBRARY)
$(CC) -o $@ $^ $(LDFLAGS_TOOLS) $(CFLAGS)
-simple_pose_test : simple_pose_test.c $(DRAWFUNCTIONS)
+simple_pose_test : simple_pose_test.c $(DRAWFUNCTIONS) $(LIBRARY)
$(CC) -o $@ $^ $(LDFLAGS_TOOLS) $(CFLAGS)
-data_recorder : data_recorder.c
- $(CC) -o $@ $^ $(LDFLAGS_TOOLS) $(CFLAGS)
+data_recorder : data_recorder.c $(LIBRARY)
+ $(CC) -o $@ $^ $(LDFLAGS_TOOLS) $(CFLAGS)
-calibrate : calibrate.c $(DRAWFUNCTIONS)
+calibrate : calibrate.c $(DRAWFUNCTIONS) $(LIBRARY)
$(CC) -o $@ $^ $(LDFLAGS_TOOLS) $(CFLAGS)
-calibrate_client : calibrate_client.c $(GRAPHICS_LOFI)
+calibrate_client : calibrate_client.c $(GRAPHICS_LOFI) $(LIBRARY)
$(CC) -o $@ $^ $(LDFLAGS_TOOLS) $(CFLAGS)
+
+
## Still not working!!! Don't use.
-static_calibrate : calibrate.c $(DRAWFUNCTIONS) $(LIBSURVIVE_C)
+static_calibrate : calibrate.c $(DRAWFUNCTIONS) $(LIBSURVIVE_C) $(LIBRARY)
tcc -o $@ $^ $(LDFLAGS_TOOLS) $(LDFLAGS) -DTCC
./redist/dclhelpers_debuggable.c : ./redist/dclhelpers.c ./redist/dclhelpers.h ./redist/dclapack.h
@@ -105,32 +119,39 @@ static_calibrate : calibrate.c $(DRAWFUNCTIONS) $(LIBSURVIVE_C)
test_dcl: ./redist/test_dcl.c ./redist/dclhelpers.c ./redist/dclhelpers.h ./redist/dclapack.h ./redist/minimal_opencv.c ./src/epnp/epnp.c
- $(CC) -o $@ $^ $(LDFLAGS_TOOLS) $(CFLAGS_RELEASE) -DFLT=double
+ $(CC) -o $@ $^ $(LDFLAGS_TOOLS) $(CFLAGS) -DFLT=double
test_dcl_debug: ./redist/test_dcl.c ./redist/dclhelpers_debuggable.c ./redist/dclhelpers.h ./redist/dclapack.h redist/os_generic.c
$(CC) -o $@ $^ $(LDFLAGS_TOOLS) $(CFLAGS) -DFLT=double -fsanitize=address -fsanitize=undefined
-test_minimal_cv: ./src/epnp/test_minimal_cv.c ./lib/libsurvive.so
+test_minimal_cv: ./src/epnp/test_minimal_cv.c $(LIBRARY)
$(CC) -o $@ $^ $(LDFLAGS_TOOLS) $(CFLAGS)
-test_epnp: ./src/epnp/test_epnp.c ./lib/libsurvive.so
+test_epnp: ./src/epnp/test_epnp.c $(LIBRARY)
$(CC) -o $@ $^ $(LDFLAGS_TOOLS) $(CFLAGS)
test_epnp_ocv: ./src/epnp/test_epnp.c ./src/epnp/epnp.c
$(CC) -o $@ $^ -DWITH_OPENCV -lpthread -lz -lm -flto -g -lX11 -lusb-1.0 -Iinclude/libsurvive -fPIC -g -O4 -Iredist -flto -DUSE_DOUBLE -std=gnu99 -rdynamic -fsanitize=address -fsanitize=undefined -llapack -lm -lopencv_core $(LDFLAGS_TOOLS)
-lib:
- mkdir lib
+$(OBJDIR):
+ mkdir -p lib
+ mkdir -p $(OBJDIR)
+ mkdir -p $(OBJDIR)/src
+ mkdir -p $(OBJDIR)/redist
+ mkdir -p $(OBJDIR)/redist/sba
+ mkdir -p $(OBJDIR)/src/epnp
-lib/libsurvive.so : $(LIBSURVIVE_O)
- $(CC) -o $@ $^ $(LDFLAGS) -shared
+$(LIBRARY): $(LIBSURVIVE_O) $(OBJDIR)
+ $(CC) -o $@ $(LIBSURVIVE_O) $(CFLAGS) $(LDFLAGS) -shared
+$(OBJDIR)/%.o : %.c $(OBJDIR)
+ $(CC) -c -o $@ $< $(CFLAGS)
calibrate_tcc : $(LIBSURVIVE_C)
tcc -DRUNTIME_SYMNUM $(CFLAGS) -o $@ $^ $(LDFLAGS) calibrate.c $(DRAWFUNCTIONS) redist/symbol_enumerator.c
clean :
- rm -rf */*/*.o *.o src/*.o *~ src/*~ test simple_pose_test data_recorder calibrate testCocoa lib/libsurvive.so test_minimal_cv test_epnp test_epnp_ocv calibrate_client redist/*.o redist/*~ tools/data_server/data_server tools/lighthousefind/lighthousefind tools/lighthousefind_tori/lighthousefind-tori tools/plot_lighthouse/plot_lighthouse tools/process_rawcap/process_to_points redist/jsmntest redist/lintest
+ rm -rf */*/*.o *.o src/*.o $(OBJDIR) *~ src/*~ test simple_pose_test data_recorder calibrate testCocoa lib/libsurvive.so test_minimal_cv test_epnp test_epnp_ocv calibrate_client redist/*.o redist/*~ tools/data_server/data_server tools/lighthousefind/lighthousefind tools/lighthousefind_tori/lighthousefind-tori tools/plot_lighthouse/plot_lighthouse tools/process_rawcap/process_to_points redist/jsmntest redist/lintest
.test_redist:
cd redist && make .run_tests;
diff --git a/dave/AffineSolve b/attic/dave/AffineSolve
index bd93cbd..bd93cbd 100755
--- a/dave/AffineSolve
+++ b/attic/dave/AffineSolve
Binary files differ
diff --git a/dave/AffineSolve.c b/attic/dave/AffineSolve.c
index 685062e..685062e 100644
--- a/dave/AffineSolve.c
+++ b/attic/dave/AffineSolve.c
diff --git a/dave/AffineSolve.c.CHARLES b/attic/dave/AffineSolve.c.CHARLES
index cb62ef6..cb62ef6 100644
--- a/dave/AffineSolve.c.CHARLES
+++ b/attic/dave/AffineSolve.c.CHARLES
diff --git a/dave/HMD_normals.csv b/attic/dave/HMD_normals.csv
index 9abb886..9abb886 100644
--- a/dave/HMD_normals.csv
+++ b/attic/dave/HMD_normals.csv
diff --git a/dave/HMD_points.csv b/attic/dave/HMD_points.csv
index 9c8f61d..9c8f61d 100644
--- a/dave/HMD_points.csv
+++ b/attic/dave/HMD_points.csv
diff --git a/dave/Makefile b/attic/dave/Makefile
index 330bda3..330bda3 100644
--- a/dave/Makefile
+++ b/attic/dave/Makefile
diff --git a/dave/OrthoPlot.c b/attic/dave/OrthoPlot.c
index 222828c..222828c 100644
--- a/dave/OrthoPlot.c
+++ b/attic/dave/OrthoPlot.c
diff --git a/dave/dclapack_test b/attic/dave/dclapack_test
index bac05e7..bac05e7 100755
--- a/dave/dclapack_test
+++ b/attic/dave/dclapack_test
Binary files differ
diff --git a/dave/dclapack_test.c b/attic/dave/dclapack_test.c
index 3f48b08..3f48b08 100644
--- a/dave/dclapack_test.c
+++ b/attic/dave/dclapack_test.c
diff --git a/dave/errors.txt b/attic/dave/errors.txt
index df2a094..df2a094 100644
--- a/dave/errors.txt
+++ b/attic/dave/errors.txt
diff --git a/dave/fileutil.c b/attic/dave/fileutil.c
index 04dc241..04dc241 100644
--- a/dave/fileutil.c
+++ b/attic/dave/fileutil.c
diff --git a/dave/fileutil.h b/attic/dave/fileutil.h
index e5da244..e5da244 100644
--- a/dave/fileutil.h
+++ b/attic/dave/fileutil.h
diff --git a/dave/kalman_filter.c b/attic/dave/kalman_filter.c
index 3d3406a..3d3406a 100644
--- a/dave/kalman_filter.c
+++ b/attic/dave/kalman_filter.c
diff --git a/dave/kalman_filter.h b/attic/dave/kalman_filter.h
index 6511fac..6511fac 100644
--- a/dave/kalman_filter.h
+++ b/attic/dave/kalman_filter.h
diff --git a/dave/main.c b/attic/dave/main.c
index ff187aa..ff187aa 100644
--- a/dave/main.c
+++ b/attic/dave/main.c
diff --git a/dave/olddata/HMD_normals.csv b/attic/dave/olddata/HMD_normals.csv
index 9abb886..9abb886 100644
--- a/dave/olddata/HMD_normals.csv
+++ b/attic/dave/olddata/HMD_normals.csv
diff --git a/dave/olddata/HMD_points.csv b/attic/dave/olddata/HMD_points.csv
index 9c8f61d..9c8f61d 100644
--- a/dave/olddata/HMD_points.csv
+++ b/attic/dave/olddata/HMD_points.csv
diff --git a/dave/olddata/ptinfo.csv b/attic/dave/olddata/ptinfo.csv
index 2dbef65..2dbef65 100644
--- a/dave/olddata/ptinfo.csv
+++ b/attic/dave/olddata/ptinfo.csv
diff --git a/dave/ptinfo.csv b/attic/dave/ptinfo.csv
index f4c5ea9..f4c5ea9 100644
--- a/dave/ptinfo.csv
+++ b/attic/dave/ptinfo.csv