Rewrite electricity-logger to use an sqlite3 database
This commit is contained in:
109
makefile
Normal file
109
makefile
Normal file
@@ -0,0 +1,109 @@
|
||||
CC = g++
|
||||
CFLAGS = -DSPDLOG_FMT_EXTERNAL -Wall -Wextra -std=c++20 -O2 -Iinclude/ -MMD
|
||||
ELECTRICITY_LOGGER_LFLAGS = -lsqlite3 -lspdlog -lfmt
|
||||
SOLAR_LOGGER_LFLAGS = -lsqlite3 -lcurl
|
||||
SERVER_LFLAGS = -lpistache -lsqlite3 -lstdc++fs -lspdlog -lfmt
|
||||
MIGRATOR_LFLAGS = -lsqlite3
|
||||
|
||||
SOLAR_LOGGER_CPPS = $(shell find src/solar-logger/ -name *.cpp)
|
||||
SOLAR_LOGGER_OBJS = $(patsubst src/%.cpp, build/%.o, ${SOLAR_LOGGER_CPPS})
|
||||
SOLAR_LOGGER_DEPS = $(patsubst src/%.cpp, build/%.d, ${SOLAR_LOGGER_CPPS})
|
||||
|
||||
SOLAR_SRV_CPPS = $(shell find src/solar-server/ -name *.cpp)
|
||||
SOLAR_SRV_OBJS = $(patsubst src/%.cpp, build/%.o, ${SOLAR_SRV_CPPS})
|
||||
SOLAR_SRV_DEPS = $(patsubst src/%.cpp, build/%.d, ${SOLAR_SRV_CPPS})
|
||||
|
||||
MIGRATOR_CPPS = $(shell find src/migrator/ -name *.cpp)
|
||||
MIGRATOR_OBJS = $(patsubst src/%.cpp, build/%.o, ${MIGRATOR_CPPS})
|
||||
MIGRATOR_DEPS = $(patsubst src/%.cpp, build/%.d, ${MIGRATOR_CPPS})
|
||||
|
||||
ELECT_LOGGER_CPPS = $(shell find src/electricity-logger/ -name *.cpp)
|
||||
ELECT_LOGGER_OBJS = $(patsubst src/%.cpp, build/%.o, ${ELECT_LOGGER_CPPS})
|
||||
ELECT_LOGGER_DEPS = $(patsubst src/%.cpp, build/%.d, ${ELECT_LOGGER_CPPS})
|
||||
|
||||
ELECT_SRV_CPPS = $(shell find src/electricity-server/ -name *.cpp)
|
||||
ELECT_SRV_OBJS = $(patsubst src/%.cpp, build/%.o, ${ELECT_SRV_CPPS})
|
||||
ELECT_SRV_DEPS = $(patsubst src/%.cpp, build/%.d, ${ELECT_SRV_CPPS})
|
||||
|
||||
SOLAR_LOGGER_BINARY_PATH = bin/solar-logger
|
||||
SOLAR_SRV_BINARY_PATH = bin/solar-server
|
||||
MIGRATOR_BINARY_PATH = bin/migrator
|
||||
ELECT_LOGGER_BINARY_PATH = bin/electricity-logger
|
||||
ELECT_SRV_BINARY_PATH = bin/electricity-server
|
||||
|
||||
INSTALL_PATH = /usr/local/bin/
|
||||
|
||||
# Test variables
|
||||
SOLAR_TEST_DATABASE = solarpaneloutput.db
|
||||
|
||||
all: ${SOLAR_LOGGER_BINARY_PATH} ${SOLAR_SRV_BINARY_PATH} ${MIGRATOR_BINARY_PATH} ${ELECT_LOGGER_BINARY_PATH} ${ELECT_SRV_BINARY_PATH}
|
||||
|
||||
clean:
|
||||
-rm -rf bin/* build/*
|
||||
|
||||
check-solar-logger: ${SOLAR_LOGGER_BINARY_PATH} ${SOLAR_TEST_DATABASE}
|
||||
./${SOLAR_LOGGER_BINARY_PATH} -d ${SOLAR_TEST_DATABASE} -u "http://192.168.2.26/home.cgi"
|
||||
|
||||
check-solar-server: ${SOLAR_SRV_BINARY_PATH} ${SOLAR_TEST_DATABASE}
|
||||
./${SOLAR_SRV_BINARY_PATH} -d ${SOLAR_TEST_DATABASE} -c public/ -p 8080
|
||||
|
||||
check-electricity-logger: ${ELECT_LOGGER_BINARY_PATH}
|
||||
./${ELECT_LOGGER_BINARY_PATH} -d /dev/ttyUSB0 -c additional_column_value
|
||||
|
||||
check-electricity-server: ${ELECT_SRV_BINARY_PATH}
|
||||
./${ELECT_SRV_BINARY_PATH} -d /var/data0/electricity -p 8081 -s valkendaal.duckdns.org
|
||||
|
||||
install: install-loggers install-servers
|
||||
|
||||
install-loggers: ${SOLAR_LOGGER_BINARY_PATH} ${ELECT_LOGGER_BINARY_PATH}
|
||||
cp -uv ${SOLAR_LOGGER_BINARY_PATH} ${INSTALL_PATH}
|
||||
cp -uv ${ELECT_LOGGER_BINARY_PATH} ${INSTALL_PATH}
|
||||
|
||||
install-solar-server: ${SOLAR_SRV_BINARY_PATH}
|
||||
cp -uv ${SOLAR_SRV_BINARY_PATH} ${INSTALL_PATH}
|
||||
|
||||
install-electricity-server: ${ELECT_SRV_BINARY_PATH}
|
||||
cp -uv ${ELECT_SRV_BINARY_PATH} ${INSTALL_PATH}
|
||||
|
||||
install-servers: install-solar-server install-electricity-server
|
||||
|
||||
.PHONY: all \
|
||||
clean \
|
||||
check-solar-logger check-solar-server \
|
||||
install \
|
||||
install-loggers \
|
||||
install-solar-server install-electricity-server \
|
||||
install-servers
|
||||
|
||||
${SOLAR_TEST_DATABASE}:
|
||||
./script/createdb.sh ${SOLAR_TEST_DATABASE}
|
||||
|
||||
${SOLAR_LOGGER_BINARY_PATH}: ${SOLAR_LOGGER_OBJS}
|
||||
mkdir -p ${@D}
|
||||
${CC} $^ ${SOLAR_LOGGER_LFLAGS} -o $@
|
||||
|
||||
${SOLAR_SRV_BINARY_PATH}: ${SOLAR_SRV_OBJS}
|
||||
mkdir -p ${@D}
|
||||
${CC} $^ ${SERVER_LFLAGS} -o $@
|
||||
|
||||
${MIGRATOR_BINARY_PATH}: ${MIGRATOR_OBJS}
|
||||
mkdir -p ${@D}
|
||||
${CC} $^ ${MIGRATOR_LFLAGS} -o $@
|
||||
|
||||
${ELECT_LOGGER_BINARY_PATH}: ${ELECT_LOGGER_OBJS}
|
||||
mkdir -p ${@D}
|
||||
${CC} $^ ${ELECTRICITY_LOGGER_LFLAGS} -o $@
|
||||
|
||||
${ELECT_SRV_BINARY_PATH}: ${ELECT_SRV_OBJS}
|
||||
mkdir -p ${@D}
|
||||
${CC} $^ ${SERVER_LFLAGS} -o $@
|
||||
|
||||
build/%.o: src/%.cpp
|
||||
mkdir -p ${@D}
|
||||
${CC} ${CFLAGS} -c $< -o $@
|
||||
|
||||
-include ${SOLAR_SRV_DEPS}
|
||||
-include ${SOLAR_LOGGER_DEPS}
|
||||
-include ${MIGRATOR_DEPS}
|
||||
-include ${ELECT_LOGGER_DEPS}
|
||||
-include ${ELECT_SRV_DEPS}
|
||||
Reference in New Issue
Block a user