From dd9936ef174746b73a688706de9c4a14fca2d58e Mon Sep 17 00:00:00 2001 From: cnlohr Date: Sat, 14 Apr 2018 17:59:58 -0400 Subject: update getting closer to a cleaner build process. --- Makefile | 72 +++++++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 42 insertions(+), 30 deletions(-) (limited to 'Makefile') 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 -- cgit v1.2.3 From 0ab91a6e9374f190c049a5d8ea1319b9b37529c1 Mon Sep 17 00:00:00 2001 From: cnlohr Date: Sun, 15 Apr 2018 17:43:12 -0400 Subject: Move things into attic and update Makefile to do dependnencies. --- Makefile | 117 +++++++++++++++++++++++++++++++++++++-------------------------- 1 file changed, 69 insertions(+), 48 deletions(-) (limited to 'Makefile') 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; -- cgit v1.2.3 From 03a546adea9c221df3e3921ebff574a6ed26e358 Mon Sep 17 00:00:00 2001 From: cnlohr Date: Sun, 15 Apr 2018 17:55:32 -0400 Subject: Fix Makefile --- Makefile | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index d224772..a847a20 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,6 @@ -all : buildfolders data_recorder test calibrate calibrate_client simple_pose_test +all : data_recorder test calibrate calibrate_client simple_pose_test + @echo "Built with defaults. Type 'make help' for more info." + .PHONY : help clean buildfolders LIBRARY:=./lib/libsurvive.so @@ -77,17 +79,22 @@ help : @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 " CC= Specify a different C compiler." + @echo " Useful Preprocessor Directives (For CFLAGS):" @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.." + @echo " Useful build targets:" + @echo " all Build libsurvive.so and tools." + @echo " clean Erase build and incremental files." + @echo " buildfolders Produce build file structure." + @echo " $(LIBRARY) Produce libsurvive.so" - + testCocoa : testCocoa.c $(LIBRARY) $(CC) -o $@ $^ $(LDFLAGS_TOOLS) $(CFLAGS) -- cgit v1.2.3 From 445188c723f60981215d6ef15ad84ea7422ee20b Mon Sep 17 00:00:00 2001 From: cnlohr Date: Sun, 15 Apr 2018 18:05:15 -0400 Subject: Add test for Windows build. --- Makefile | 75 +++++++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 44 insertions(+), 31 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index a847a20..77df3ed 100644 --- a/Makefile +++ b/Makefile @@ -5,16 +5,26 @@ all : data_recorder test calibrate calibrate_client simple_pose_test LIBRARY:=./lib/libsurvive.so OBJDIR:=build + + +ifdef WINDOWS + CFLAGS+=-Iinclude/libsurvive -g -O3 -Iredist -DUSE_DOUBLE -std=gnu99 -MD -DNOZLIB + LDFLAGS+=-L/usr/local/lib -lpthread -lz -lm -g -llapacke -lcblas -lm + LDFLAGS_TOOLS+=-Llib -lsurvive -Wl,-rpath,lib -lX11 $(LDFLAGS) + CC:=i686-w64-mingw32-gcc +else + CFLAGS+=-Iinclude/libsurvive -fPIC -g -O3 -Iredist -DUSE_DOUBLE -std=gnu99 -rdynamic -MD + LDFLAGS+=-L/usr/local/lib -lpthread -lz -lm -g -llapacke -lcblas -lm + LDFLAGS_TOOLS+=-Llib -lsurvive -Wl,-rpath,lib -lX11 $(LDFLAGS) +endif + CC?=gcc -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 -lz -lm -g -llapacke -lcblas -lm -LDFLAGS_TOOLS+=-Llib -lsurvive -Wl,-rpath,lib -lX11 $(LDFLAGS) 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 @@ -71,30 +81,8 @@ ifdef LINUX_USE_HIDAPI 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 a different C compiler." - @echo " Useful Preprocessor Directives (For CFLAGS):" - @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.." - @echo " Useful build targets:" - @echo " all Build libsurvive.so and tools." - @echo " clean Erase build and incremental files." - @echo " buildfolders Produce build file structure." - @echo " $(LIBRARY) Produce libsurvive.so" - +#### Tools - testCocoa : testCocoa.c $(LIBRARY) $(CC) -o $@ $^ $(LDFLAGS_TOOLS) $(CFLAGS) @@ -114,17 +102,13 @@ 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) $(LIBRARY) - tcc -o $@ $^ $(LDFLAGS_TOOLS) $(LDFLAGS) -DTCC +#### Testers. ./redist/dclhelpers_debuggable.c : ./redist/dclhelpers.c ./redist/dclhelpers.h ./redist/dclapack.h gcc -E ./redist/dclhelpers.c > ./redist/dclhelpers_debuggable.c clang-format -i ./redist/dclhelpers_debuggable.c sed -i 's/#/\/\/#/g' ./redist/dclhelpers_debuggable.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) -DFLT=double @@ -140,6 +124,10 @@ test_epnp: ./src/epnp/test_epnp.c $(LIBRARY) 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) + + +#### Actual build system. + $(OBJDIR): mkdir -p lib mkdir -p $(OBJDIR) @@ -165,3 +153,28 @@ clean : .run_tests: .test_redist + +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 " WINDOWS=1 Cross-target Windows (EXPERIMENTAL)" + @echo " CFLAGS= Specify additional CFLAGS." + @echo " LDFLAGS= Specify additional LDFLAGS." + @echo " CC= Specify a different C compiler." + @echo " Useful Preprocessor Directives (For CFLAGS):" + @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.." + @echo " Useful build targets:" + @echo " all Build libsurvive.so and tools." + @echo " clean Erase build and incremental files." + @echo " buildfolders Produce build file structure." + @echo " $(LIBRARY) Produce libsurvive.so" + + -- cgit v1.2.3 From 29270021e14afa7759c98d926ad9e96e205a5497 Mon Sep 17 00:00:00 2001 From: cnlohr Date: Sun, 15 Apr 2018 18:19:45 -0400 Subject: Fix winbuild. --- Makefile | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 77df3ed..8a967cd 100644 --- a/Makefile +++ b/Makefile @@ -8,9 +8,10 @@ OBJDIR:=build ifdef WINDOWS - CFLAGS+=-Iinclude/libsurvive -g -O3 -Iredist -DUSE_DOUBLE -std=gnu99 -MD -DNOZLIB - LDFLAGS+=-L/usr/local/lib -lpthread -lz -lm -g -llapacke -lcblas -lm + CFLAGS+=-Iinclude/libsurvive -g -O3 -Iredist -DUSE_DOUBLE -std=gnu99 -MD -DNOZLIB -DWINDOWS -DWIN32 -DHIDAPI + LDFLAGS+=-L/usr/local/lib -lpthread -g -lm -lsetupapi -lkernel32 LDFLAGS_TOOLS+=-Llib -lsurvive -Wl,-rpath,lib -lX11 $(LDFLAGS) + LIBSURVIVE_CORE:=redist/puff.c redist/crc32.c redist/hid-windows.c winbuild/getdelim.c CC:=i686-w64-mingw32-gcc else CFLAGS+=-Iinclude/libsurvive -fPIC -g -O3 -Iredist -DUSE_DOUBLE -std=gnu99 -rdynamic -MD @@ -28,9 +29,9 @@ endif 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 +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 @@ -62,7 +63,7 @@ GRAPHICS_LOFI:=redist/CNFGFunctions.o redist/CNFGCocoaNSImageDriver.o # Linux / FreeBSD else -LDFLAGS:=$(LDFLAGS) -lX11 -lusb-1.0 +LDFLAGS:=$(LDFLAGS) DRAWFUNCTIONS=redist/CNFGFunctions.c redist/CNFGXDriver.c redist/CNFG3D.c GRAPHICS_LOFI:=redist/CNFGFunctions.o redist/CNFGXDriver.o @@ -131,6 +132,7 @@ test_epnp_ocv: ./src/epnp/test_epnp.c ./src/epnp/epnp.c $(OBJDIR): mkdir -p lib mkdir -p $(OBJDIR) + mkdir -p $(OBJDIR)/winbuild mkdir -p $(OBJDIR)/src mkdir -p $(OBJDIR)/redist mkdir -p $(OBJDIR)/redist/sba -- cgit v1.2.3 From c73823e20c9ed2f2f8f6a13c2031971d8b7d7be2 Mon Sep 17 00:00:00 2001 From: cnlohr Date: Sun, 15 Apr 2018 18:37:25 -0400 Subject: Bump to better build. --- Makefile | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 8a967cd..a95ff18 100644 --- a/Makefile +++ b/Makefile @@ -9,7 +9,7 @@ OBJDIR:=build ifdef WINDOWS CFLAGS+=-Iinclude/libsurvive -g -O3 -Iredist -DUSE_DOUBLE -std=gnu99 -MD -DNOZLIB -DWINDOWS -DWIN32 -DHIDAPI - LDFLAGS+=-L/usr/local/lib -lpthread -g -lm -lsetupapi -lkernel32 + LDFLAGS+=-L/usr/local/lib -lpthread -g -lm -lsetupapi -lkernel32 -ldbghelp -lgdi32 LDFLAGS_TOOLS+=-Llib -lsurvive -Wl,-rpath,lib -lX11 $(LDFLAGS) LIBSURVIVE_CORE:=redist/puff.c redist/crc32.c redist/hid-windows.c winbuild/getdelim.c CC:=i686-w64-mingw32-gcc @@ -155,6 +155,15 @@ clean : .run_tests: .test_redist +tccbatch : + echo "@echo off" > winbuild/build_tcc.bat + echo "set TCC=C:\\\\tcc\\\\tcc.exe" >> winbuild/build_tcc.bat + echo "echo USing %TCC%" >> winbuild/build_tcc.bat + echo "set SOURCES=$(LIBSURVIVE_C)" >> winbuild/build_tcc.bat + echo "set EXEC=..\\\\calibrate.c redist\\\\CNFGWinDriver.c redist\\\\os_generic.c redist\\\\CNFGFunctions.c" >> winbuild/build_tcc.bat + echo "set CFLAGS=$(CFLAGS)" >> winbuild/build_tcc.bat + echo "@echo on" >> winbuild/build_tcc.bat + echo "%TCC% -v %CFLAGS% %SOURCES% %REDIST% %EXEC% %LDFLAGS% tcc_stubs.c %RD%hid-windows.c -o calibrate.exe" >> winbuild/build_tcc.bat help : @echo "Usage: make [flags]" -- cgit v1.2.3