61 lines
1.8 KiB
Makefile
61 lines
1.8 KiB
Makefile
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 -lspdlog -lfmt
|
|
|
|
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})
|
|
|
|
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})
|
|
|
|
SOLAR_LOGGER_BINARY_PATH = bin/solar-logger
|
|
ELECT_LOGGER_BINARY_PATH = bin/electricity-logger
|
|
|
|
INSTALL_PATH = /usr/local/bin/
|
|
|
|
# Test variables
|
|
SOLAR_TEST_DATABASE = solarpaneloutput.db
|
|
|
|
all: ${SOLAR_LOGGER_BINARY_PATH} ${ELECT_LOGGER_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-electricity-logger: ${ELECT_LOGGER_BINARY_PATH}
|
|
./${ELECT_LOGGER_BINARY_PATH} -d /dev/ttyUSB0 -c additional_column_value
|
|
|
|
install: install-loggers
|
|
|
|
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}
|
|
|
|
.PHONY: all \
|
|
clean \
|
|
check-solar-logger \
|
|
install \
|
|
install-loggers
|
|
|
|
${SOLAR_TEST_DATABASE}:
|
|
./script/createdb.sh ${SOLAR_TEST_DATABASE}
|
|
|
|
${SOLAR_LOGGER_BINARY_PATH}: ${SOLAR_LOGGER_OBJS}
|
|
mkdir -p ${@D}
|
|
${CC} $^ ${SOLAR_LOGGER_LFLAGS} -o $@
|
|
|
|
${ELECT_LOGGER_BINARY_PATH}: ${ELECT_LOGGER_OBJS}
|
|
mkdir -p ${@D}
|
|
${CC} $^ ${ELECTRICITY_LOGGER_LFLAGS} -o $@
|
|
|
|
build/%.o: src/%.cpp
|
|
mkdir -p ${@D}
|
|
${CC} ${CFLAGS} -c $< -o $@
|
|
|
|
-include ${SOLAR_LOGGER_DEPS}
|
|
-include ${ELECT_LOGGER_DEPS} |