<commit_before># Makefile for all component project

# compiler flags
#	-g	--Enable debugging
#	-Wall	--Turn on all warnings
#	-D_USE_FIXED_PROTOTYPES_
#	--Force the compiler to use the correct headers
#	-ansi	--Don't use GNU ext; do use ansi standard.

CC = gcc
CXX = g++
CXXFLAGS = -O3 -fPIC -Wall -std=c++11 -D__cplusplus=201103L -D__boostthread__
CCFLAGS = $(CXXFLAGS)
LDFLAGS = -Wl,--export-dynamic
LDLIBS = -lboost_system -lboost_thread -lboost_filesystem -ldl -luuid 
EDISON_LDLIBS = -lmraa
INCLUDE = -I./include -I/usr/include -I/usr/local/include
RM	= rm -rf

OUTDIR		= ./bin/
INCLUDE_FILES = ./include/
EXAMPLE_FILES = ./examples/
COMPONENT_FILES = ./components/
LIB_FILES = ./lib/
UTIL_FILES = ./utils/
TEST_FILES = ./test/
SOURCE_FILES = ./src/
UTIL_FILES = ./util/
BASE_FILES = ./base/

#cossb version
CXXFLAGS += -D__MAJOR__=0 -D__MINOR__=0 -D__REV__=2


# Make COSSB Application
cossb:	$(OUTDIR)cossb.o \
		$(OUTDIR)instance.o	\
		$(OUTDIR)manifest.o \
		$(OUTDIR)sysmanager.o \
		$(OUTDIR)compmanager.o \
		$(OUTDIR)driver.o \
		$(OUTDIR)broker.o \
		$(OUTDIR)xmlprofile.o \
		$(OUTDIR)message_any.o \
		$(OUTDIR)log.o\
		$(OUTDIR)localtime.o \
		$(OUTDIR)ostream.o \
		$(OUTDIR)format.o \
		$(OUTDIR)tinyxml2.o
		$(CXX) $(LDFLAGS) -o $(OUTDIR)$@ $^ $(LDLIBS)
		
cossb_test:	$(OUTDIR)cossb_test.o \
		$(OUTDIR)sysmanager_test.o \
		$(OUTDIR)instance.o	\
		$(OUTDIR)manifest.o \
		$(OUTDIR)sysmanager.o \
		$(OUTDIR)compmanager.o \
		$(OUTDIR)driver.o \
		$(OUTDIR)broker.o \
		$(OUTDIR)xmlprofile.o \
		$(OUTDIR)message_any.o \
		$(OUTDIR)log.o \
		$(OUTDIR)localtime.o \
		$(OUTDIR)ostream.o \
		$(OUTDIR)format.o \
		$(OUTDIR)tinyxml2.o
		$(CXX) $(LDFLAGS) -o $(OUTDIR)$@ $^ $(LDLIBS)

# Util
wsbroadcaster: $(OUTDIR)broadcaster.o
	$(CXX) $(LDFLAGS) -o $(OUTDIR)$@ $^ -lpthread -lboost_system -lboost_regex -lssl -lcrypto
$(OUTDIR)broadcaster.o: $(UTIL_FILES)websocket/broadcaster.cpp 
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@

		
#examples
	
helloworld.comp: $(OUTDIR)helloworld.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)helloworld.o: $(EXAMPLE_FILES)01_Helloworld/helloworld.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
example_tcpserver.comp: $(OUTDIR)example_tcpserver.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)example_tcpserver.o: $(EXAMPLE_FILES)02_tcpserver/example_tcpserver.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
example_uart.comp: $(OUTDIR)example_uart.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)example_uart.o: $(EXAMPLE_FILES)03_uart/example_uart.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
example_messageout.comp: $(OUTDIR)example_messageout.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)example_messageout.o: $(EXAMPLE_FILES)04_messageout/example_messageout.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
example_messageprint.comp: $(OUTDIR)example_messageprint.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)example_messageprint.o: $(EXAMPLE_FILES)05_messageprint/example_messageprint.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@	
	
example_edison_gpio.comp: $(OUTDIR)example_edison_gpio.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS) $(EDISON_LDLIBS)
$(OUTDIR)example_edison_gpio.o: $(EXAMPLE_FILES)06_edison_gpio/example_edison_gpio.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@	
	
example_edison_i2c.comp: $(OUTDIR)example_edison_i2c.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS) $(EDISON_LDLIBS)
$(OUTDIR)example_edison_i2c.o: $(EXAMPLE_FILES)07_edison_i2c/example_edison_i2c.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@	
	
example_edison_uart.comp: $(OUTDIR)example_edison_uart.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS) $(EDISON_LDLIBS)
$(OUTDIR)example_edison_uart.o: $(EXAMPLE_FILES)08_edison_uart/example_edison_uart.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
example_websocket_client.comp: $(OUTDIR)example_websocket_client.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)example_websocket_client.o: $(EXAMPLE_FILES)09_websocket_client/example_websocket_client.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
example_cat_monitoring.comp: $(OUTDIR)example_cat_monitoring.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)example_cat_monitoring.o: $(EXAMPLE_FILES)10_cat_monitoring/example_cat_monitoring.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
example_cat_db_log.comp: $(OUTDIR)example_cat_db_log.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)example_cat_db_log.o: $(EXAMPLE_FILES)11_example_cat_db_log/example_cat_db_log.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@

example_filelog.comp: $(OUTDIR)example_filelog.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)example_filelog.o: $(EXAMPLE_FILES)12_filelog/example_filelog.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
edison_gpio.comp: $(OUTDIR)edison_gpio.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS) $(EDISON_LDLIBS)
$(OUTDIR)edison_gpio.o: $(COMPONENT_FILES)edison_gpio/edison_gpio.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
edison_uart.comp: $(OUTDIR)edison_uart.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS) $(EDISON_LDLIBS)
$(OUTDIR)edison_uart.o: $(COMPONENT_FILES)edison_uart/edison_uart.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
edison_i2c.comp: $(OUTDIR)edison_i2c.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS) $(EDISON_LDLIBS)
$(OUTDIR)edison_i2c.o: $(COMPONENT_FILES)edison_i2c/edison_i2c.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
tcpserver.comp: $(OUTDIR)tcpserver.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)tcpserver.o: $(COMPONENT_FILES)tcpserver/tcpserver.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
serial.comp: $(OUTDIR)serial.o $(OUTDIR)libserial.o
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)serial.o: $(COMPONENT_FILES)serial/serial.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
$(OUTDIR)libserial.o: $(COMPONENT_FILES)serial/libserial.cpp 
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
wsclient.comp: $(OUTDIR)wsclient.o
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)wsclient.o: $(COMPONENT_FILES)websocket/wsclient.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
sqlitedb.comp: $(OUTDIR)sqlitedb.o
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)sqlitedb.o: $(COMPONENT_FILES)sqlitedb/sqlitedb.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
uart_protocol.comp: $(OUTDIR)uart_protocol.o
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)uart_protocol.o: $(COMPONENT_FILES)uart_protocol/uart_protocol.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
cat_protocol.comp: $(OUTDIR)cat_protocol.o
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)cat_protocol.o: $(COMPONENT_FILES)cat_protocol/cat_protocol.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
filelog.comp: $(OUTDIR)filelog.o
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)filelog.o: $(COMPONENT_FILES)filelog/filelog.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
compcontroller.comp: $(OUTDIR)compcontroller.o
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)compcontroller.o: $(COMPONENT_FILES)compcontroller/compcontroller.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
camcapture.comp: $(OUTDIR)camcapture.o $(OUTDIR)message_any.o
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS) -lopencv_core -lopencv_videoio -lopencv_video -lopencv_highgui
$(OUTDIR)camcapture.o: $(COMPONENT_FILES)camcapture/camcapture.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
msapi_emotion.comp: $(OUTDIR)msapi_emotion.o
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)msapi_emotion.o: $(COMPONENT_FILES)msapi_emotion/msapi_emotion.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
rpi_spi.comp: $(OUTDIR)rpi_spi.o
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS) -lbcm2835
$(OUTDIR)rpi_spi.o: $(COMPONENT_FILES)rpi_spi/rpi_spi.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
	
	
$(OUTDIR)message_any.o: $(INCLUDE_FILES)base/message_any.cpp 
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
			
$(OUTDIR)cossb.o: $(SOURCE_FILES)cossb.cpp 
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
$(OUTDIR)instance.o: $(INCLUDE_FILES)base/instance.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@<commit_msg>- update makefile<commit_after># Makefile for all component project

# compiler flags
#	-g	--Enable debugging
#	-Wall	--Turn on all warnings
#	-D_USE_FIXED_PROTOTYPES_
#	--Force the compiler to use the correct headers
#	-ansi	--Don't use GNU ext; do use ansi standard.

CC = gcc
CXX = g++
CXXFLAGS = -O3 -fPIC -Wall -std=c++11 -D__cplusplus=201103L -D__boostthread__
CCFLAGS = $(CXXFLAGS)
LDFLAGS = -Wl,--export-dynamic
LDLIBS = -lboost_system -lboost_thread -lboost_filesystem -ldl -luuid 
EDISON_LDLIBS = -lmraa
INCLUDE = -I./include -I/usr/include -I/usr/local/include
RM	= rm -rf

OUTDIR		= ./bin/
INCLUDE_FILES = ./include/
EXAMPLE_FILES = ./examples/
COMPONENT_FILES = ./components/
LIB_FILES = ./lib/
UTIL_FILES = ./utils/
TEST_FILES = ./test/
SOURCE_FILES = ./src/
UTIL_FILES = ./util/
BASE_FILES = ./base/

#cossb version
CXXFLAGS += -D__MAJOR__=0 -D__MINOR__=0 -D__REV__=2


# Make COSSB Application
cossb:	$(OUTDIR)cossb.o \
		$(OUTDIR)instance.o	\
		$(OUTDIR)manifest.o \
		$(OUTDIR)sysmanager.o \
		$(OUTDIR)compmanager.o \
		$(OUTDIR)driver.o \
		$(OUTDIR)broker.o \
		$(OUTDIR)xmlprofile.o \
		$(OUTDIR)message_any.o \
		$(OUTDIR)log.o\
		$(OUTDIR)localtime.o \
		$(OUTDIR)ostream.o \
		$(OUTDIR)format.o \
		$(OUTDIR)tinyxml2.o
		$(CXX) $(LDFLAGS) -o $(OUTDIR)$@ $^ $(LDLIBS)
		
cossb_test:	$(OUTDIR)cossb_test.o \
		$(OUTDIR)sysmanager_test.o \
		$(OUTDIR)instance.o	\
		$(OUTDIR)manifest.o \
		$(OUTDIR)sysmanager.o \
		$(OUTDIR)compmanager.o \
		$(OUTDIR)driver.o \
		$(OUTDIR)broker.o \
		$(OUTDIR)xmlprofile.o \
		$(OUTDIR)message_any.o \
		$(OUTDIR)log.o \
		$(OUTDIR)localtime.o \
		$(OUTDIR)ostream.o \
		$(OUTDIR)format.o \
		$(OUTDIR)tinyxml2.o
		$(CXX) $(LDFLAGS) -o $(OUTDIR)$@ $^ $(LDLIBS)

# Util
wsbroadcaster: $(OUTDIR)broadcaster.o
	$(CXX) $(LDFLAGS) -o $(OUTDIR)$@ $^ -lpthread -lboost_system -lboost_regex -lssl -lcrypto
$(OUTDIR)broadcaster.o: $(UTIL_FILES)websocket/broadcaster.cpp 
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@

		
#examples
	
helloworld.comp: $(OUTDIR)helloworld.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)helloworld.o: $(EXAMPLE_FILES)01_Helloworld/helloworld.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
example_tcpserver.comp: $(OUTDIR)example_tcpserver.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)example_tcpserver.o: $(EXAMPLE_FILES)02_tcpserver/example_tcpserver.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
example_uart.comp: $(OUTDIR)example_uart.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)example_uart.o: $(EXAMPLE_FILES)03_uart/example_uart.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
example_messageout.comp: $(OUTDIR)example_messageout.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)example_messageout.o: $(EXAMPLE_FILES)04_messageout/example_messageout.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
example_messageprint.comp: $(OUTDIR)example_messageprint.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)example_messageprint.o: $(EXAMPLE_FILES)05_messageprint/example_messageprint.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@	
	
example_edison_gpio.comp: $(OUTDIR)example_edison_gpio.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS) $(EDISON_LDLIBS)
$(OUTDIR)example_edison_gpio.o: $(EXAMPLE_FILES)06_edison_gpio/example_edison_gpio.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@	
	
example_edison_i2c.comp: $(OUTDIR)example_edison_i2c.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS) $(EDISON_LDLIBS)
$(OUTDIR)example_edison_i2c.o: $(EXAMPLE_FILES)07_edison_i2c/example_edison_i2c.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@	
	
example_edison_uart.comp: $(OUTDIR)example_edison_uart.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS) $(EDISON_LDLIBS)
$(OUTDIR)example_edison_uart.o: $(EXAMPLE_FILES)08_edison_uart/example_edison_uart.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
example_websocket_client.comp: $(OUTDIR)example_websocket_client.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)example_websocket_client.o: $(EXAMPLE_FILES)09_websocket_client/example_websocket_client.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
example_cat_monitoring.comp: $(OUTDIR)example_cat_monitoring.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)example_cat_monitoring.o: $(EXAMPLE_FILES)10_cat_monitoring/example_cat_monitoring.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
example_cat_db_log.comp: $(OUTDIR)example_cat_db_log.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)example_cat_db_log.o: $(EXAMPLE_FILES)11_example_cat_db_log/example_cat_db_log.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@

example_filelog.comp: $(OUTDIR)example_filelog.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)example_filelog.o: $(EXAMPLE_FILES)12_filelog/example_filelog.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
edison_gpio.comp: $(OUTDIR)edison_gpio.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS) $(EDISON_LDLIBS)
$(OUTDIR)edison_gpio.o: $(COMPONENT_FILES)edison_gpio/edison_gpio.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
edison_uart.comp: $(OUTDIR)edison_uart.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS) $(EDISON_LDLIBS)
$(OUTDIR)edison_uart.o: $(COMPONENT_FILES)edison_uart/edison_uart.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
edison_i2c.comp: $(OUTDIR)edison_i2c.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS) $(EDISON_LDLIBS)
$(OUTDIR)edison_i2c.o: $(COMPONENT_FILES)edison_i2c/edison_i2c.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
tcpserver.comp: $(OUTDIR)tcpserver.o 
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)tcpserver.o: $(COMPONENT_FILES)tcpserver/tcpserver.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
serial.comp: $(OUTDIR)serial.o $(OUTDIR)libserial.o
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)serial.o: $(COMPONENT_FILES)serial/serial.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
$(OUTDIR)libserial.o: $(COMPONENT_FILES)serial/libserial.cpp 
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
wsclient.comp: $(OUTDIR)wsclient.o
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)wsclient.o: $(COMPONENT_FILES)websocket/wsclient.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
sqlitedb.comp: $(OUTDIR)sqlitedb.o
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)sqlitedb.o: $(COMPONENT_FILES)sqlitedb/sqlitedb.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
uart_protocol.comp: $(OUTDIR)uart_protocol.o
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)uart_protocol.o: $(COMPONENT_FILES)uart_protocol/uart_protocol.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
cat_protocol.comp: $(OUTDIR)cat_protocol.o
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)cat_protocol.o: $(COMPONENT_FILES)cat_protocol/cat_protocol.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
filelog.comp: $(OUTDIR)filelog.o
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)filelog.o: $(COMPONENT_FILES)filelog/filelog.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
compcontroller.comp: $(OUTDIR)compcontroller.o
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)compcontroller.o: $(COMPONENT_FILES)compcontroller/compcontroller.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
camcapture.comp: $(OUTDIR)camcapture.o $(OUTDIR)message_any.o
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS) -lopencv_core -lopencv_videoio -lopencv_video -lopencv_highgui
$(OUTDIR)camcapture.o: $(COMPONENT_FILES)camcapture/camcapture.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
msapi_emotion.comp: $(OUTDIR)msapi_emotion.o $(OUTDIR)message_any.o
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS)
$(OUTDIR)msapi_emotion.o: $(COMPONENT_FILES)msapi_emotion/msapi_emotion.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
rpi_spi.comp: $(OUTDIR)rpi_spi.o $(OUTDIR)message_any.o
	$(CXX) $(LDFLAGS) -shared -o $(OUTDIR)$@ $^ $(LDLIBS) -lbcm2835
$(OUTDIR)rpi_spi.o: $(COMPONENT_FILES)rpi_spi/rpi_spi.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
	
	
$(OUTDIR)message_any.o: $(INCLUDE_FILES)base/message_any.cpp 
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
			
$(OUTDIR)cossb.o: $(SOURCE_FILES)cossb.cpp 
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
	
$(OUTDIR)instance.o: $(INCLUDE_FILES)base/instance.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $^ -o $@
{'fraction_non_alphanumeric': 0.20983899821109123, 'fraction_numerical': 0.006201550387596899, 'mean_word_length': 5.193131462333826, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 8}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2413109', 'n_tokens_mistral': 7798, 'n_tokens_neox': 6920, 'n_words': 1174}