aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorcnlohr <lohr85@gmail.com>2018-04-14 17:59:58 -0400
committercnlohr <lohr85@gmail.com>2018-04-14 17:59:58 -0400
commitdd9936ef174746b73a688706de9c4a14fca2d58e (patch)
treeb3a46f777474a7ae7b7eec5b067b5b543ec6b630 /Makefile
parent0f9d12f3f697762408f77ebde01898b7b7ae2d57 (diff)
downloadlibsurvive-dd9936ef174746b73a688706de9c4a14fca2d58e.tar.gz
libsurvive-dd9936ef174746b73a688706de9c4a14fca2d58e.tar.bz2
update getting closer to a cleaner build process.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile72
1 files changed, 42 insertions, 30 deletions
diff --git a/Makefile b/Makefile
index c5763cb..24b95f6 100644
--- a/Makefile
+++ b/Makefile
@@ -2,12 +2,33 @@ all : lib data_recorder test calibrate calibrate_client simple_pose_test
CC?=gcc
-CFLAGS:=-Iinclude/libsurvive -fPIC -g -O3 -Iredist -flto -DUSE_DOUBLE -std=gnu99 -rdynamic -llapacke -lcblas -lm #-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 -O3 -Iredist -flto -DUSE_DOUBLE -std=gnu99 -rdynamic -llapacke -lcblas -lm
+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
#LDFLAGS:=-L/usr/local/lib -lpthread -lusb-1.0 -lz -lm -flto -g
-LDFLAGS:=-L/usr/local/lib -lpthread -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
+
+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)
+
+else
+ LIBSURVIVE_O:=$(POSERS) $(REDISTS) $(LIBSURVIVE_CORE) $(SBA) $(MINIMAL_NEEDED) $(AUX_NEEDED)
+ LIBSURVIVE_C:=$(LIBSURVIVE_O:.o=.c)
+endif
+
+
+
#----------
# Platform specific changes to CFLAGS/LDFLAGS
@@ -19,8 +40,6 @@ ifeq ($(UNAME), Darwin)
CFLAGS:=$(CFLAGS) -DRASTERIZER -DHIDAPI -I/usr/local/include -x objective-c
LDFLAGS:=$(LDFLAGS) -framework OpenGL -framework Cocoa -framework IOKit
-#DRAWFUNCTIONS=redist/CNFGFunctions.c redist/CocoaDriver.m
-#GRAPHICS_LOFI:=redist/CNFGFunctions.o redist/CocoaDriver.o
DRAWFUNCTIONS=redist/CNFGFunctions.c redist/CNFGCocoaNSImageDriver.m
GRAPHICS_LOFI:=redist/CNFGFunctions.o redist/CNFGCocoaNSImageDriver.o
@@ -33,15 +52,11 @@ GRAPHICS_LOFI:=redist/CNFGFunctions.o redist/CNFGXDriver.o
endif
-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
-POSERS:=src/poser_dummy.o src/poser_daveortho.o src/poser_charlesslow.o src/poser_octavioradii.o src/poser_turveytori.o src/poser_epnp.o src/poser_sba.o
-REDISTS:=redist/json_helpers.o redist/linmath.o redist/jsmn.o redist/minimal_opencv.o
+
ifeq ($(UNAME), Darwin)
REDISTS:=$(REDISTS) redist/hid-osx.c
endif
-LIBSURVIVE_CORE:=src/survive.o src/survive_usb.o src/survive_charlesbiguator.o src/survive_process.o src/ootx_decoder.o src/survive_driverman.o src/survive_default_devices.o src/survive_vive.o src/survive_playback.o src/survive_config.o src/survive_cal.o src/survive_reproject.o src/poser.o src/epnp/epnp.o src/survive_sensor_activations.o src/survive_turveybiguator.o src/survive_disambiguator.o src/survive_statebased_disambiguator.o src/poser_charlesrefine.o src/survive_imu.o src/poser_imu.o
-
#If you want to use HIDAPI on Linux.
#CFLAGS:=$(CFLAGS) -DHIDAPI
#REDISTS:=$(REDISTS) redist/hid-linux.o
@@ -58,33 +73,30 @@ LIBSURVIVE_CORE:=src/survive.o src/survive_usb.o src/survive_charlesbiguator.o s
-LIBSURVIVE_CORE:=$(LIBSURVIVE_CORE)
-LIBSURVIVE_O:=$(POSERS) $(REDISTS) $(LIBSURVIVE_CORE) $(SBA)
-LIBSURVIVE_C:=$(LIBSURVIVE_O:.o=.c)
# unused: redist/crc32.c
testCocoa : testCocoa.c
- $(CC) -o $@ $^ $(LDFLAGS) $(CFLAGS)
+ $(CC) -o $@ $^ $(LDFLAGS_TOOLS) $(CFLAGS)
-test : test.c ./lib/libsurvive.so
- $(CC) -o $@ $^ $(LDFLAGS) $(CFLAGS)
+test : test.c
+ $(CC) -o $@ $^ $(LDFLAGS_TOOLS) $(CFLAGS)
-simple_pose_test : simple_pose_test.c ./lib/libsurvive.so $(DRAWFUNCTIONS)
- $(CC) -o $@ $^ $(LDFLAGS) $(CFLAGS)
+simple_pose_test : simple_pose_test.c $(DRAWFUNCTIONS)
+ $(CC) -o $@ $^ $(LDFLAGS_TOOLS) $(CFLAGS)
-data_recorder : data_recorder.c ./lib/libsurvive.so
- $(CC) -o $@ $^ $(LDFLAGS) $(CFLAGS)
+data_recorder : data_recorder.c
+ $(CC) -o $@ $^ $(LDFLAGS_TOOLS) $(CFLAGS)
-calibrate : calibrate.c ./lib/libsurvive.so $(DRAWFUNCTIONS)
- $(CC) -o $@ $^ $(LDFLAGS) $(CFLAGS)
+calibrate : calibrate.c $(DRAWFUNCTIONS)
+ $(CC) -o $@ $^ $(LDFLAGS_TOOLS) $(CFLAGS)
-calibrate_client : calibrate_client.c ./lib/libsurvive.so $(GRAPHICS_LOFI)
- $(CC) -o $@ $^ $(LDFLAGS) $(CFLAGS)
+calibrate_client : calibrate_client.c $(GRAPHICS_LOFI)
+ $(CC) -o $@ $^ $(LDFLAGS_TOOLS) $(CFLAGS)
## Still not working!!! Don't use.
static_calibrate : calibrate.c $(DRAWFUNCTIONS) $(LIBSURVIVE_C)
- tcc -o $@ $^ $(CFLAGS) $(LDFLAGS) -DTCC
+ tcc -o $@ $^ $(LDFLAGS_TOOLS) $(LDFLAGS) -DTCC
./redist/dclhelpers_debuggable.c : ./redist/dclhelpers.c ./redist/dclhelpers.h ./redist/dclapack.h
gcc -E ./redist/dclhelpers.c > ./redist/dclhelpers_debuggable.c
@@ -93,19 +105,19 @@ 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) $(CFLAGS_RELEASE) -DFLT=double
+ $(CC) -o $@ $^ $(LDFLAGS_TOOLS) $(CFLAGS_RELEASE) -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) $(CFLAGS) -DFLT=double -fsanitize=address -fsanitize=undefined
+ $(CC) -o $@ $^ $(LDFLAGS_TOOLS) $(CFLAGS) -DFLT=double -fsanitize=address -fsanitize=undefined
test_minimal_cv: ./src/epnp/test_minimal_cv.c ./lib/libsurvive.so
- $(CC) -o $@ $^ $(LDFLAGS) $(CFLAGS)
+ $(CC) -o $@ $^ $(LDFLAGS_TOOLS) $(CFLAGS)
test_epnp: ./src/epnp/test_epnp.c ./lib/libsurvive.so
- $(CC) -o $@ $^ $(LDFLAGS) $(CFLAGS)
+ $(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
+ $(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