minor tidy up

This commit is contained in:
proddy
2024-11-28 12:19:09 +01:00
parent 4de56af85a
commit 4471c1fad6
5 changed files with 86 additions and 11 deletions

View File

@@ -3,8 +3,25 @@
# This is mainly used to generate the .o files for SonarQube analysis
#
NUMJOBS=${NUMJOBS:-" -j10 "}
MAKEFLAGS+="j "
_mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST)))
I := $(patsubst %/,%,$(dir $(_mkfile_path)))
ifneq ($(words $(MAKECMDGOALS)),1)
.DEFAULT_GOAL = all
%:
@$(MAKE) $@ --no-print-directory -rRf $(firstword $(MAKEFILE_LIST))
else
ifndef ECHO
T := $(shell $(MAKE) $(MAKECMDGOALS) --no-print-directory \
-nrRf $(firstword $(MAKEFILE_LIST)) \
ECHO="COUNTTHIS" | grep -c "COUNTTHIS")
N := x
C = $(words $N)$(eval N := x $N)
ECHO = python $(I)/echo_progress.py --stepno=$C --nsteps=$T
endif
JOBS ?= $(shell nproc)
MAKEFLAGS += -j $(JOBS) -l $(JOBS)
#----------------------------------------------------------------------
# Project Structure
@@ -125,23 +142,27 @@ COMPILE.cpp = $(CXX) $(CXX_STANDARD) $(CXXFLAGS) $(DEPFLAGS) -c $< -o $@
.SILENT: $(OUTPUT)
all: $(OUTPUT)
@$(ECHO) All done
$(OUTPUT): $(OBJS)
@mkdir -p $(@D)
@$(ECHO) Linking $@
$(LINK.o)
$(SYMBOLS.out)
$(BUILD)/%.o: %.c
@mkdir -p $(@D)
$(COMPILE.c)
@$(ECHO) Compiling $@
@$(COMPILE.c)
$(BUILD)/%.o: %.cpp
@mkdir -p $(@D)
$(COMPILE.cpp)
@$(ECHO) Compiling $@
@$(COMPILE.cpp)
$(BUILD)/%.o: %.s
@mkdir -p $(@D)
$(COMPILE.s)
@$(COMPILE.s)
cppcheck: $(SOURCES)
$(CPPCHECK) $(CHECKFLAGS) $^
@@ -150,6 +171,7 @@ run: $(OUTPUT)
@$<
.PHONY: clean
clean:
@$(RM) -rf $(BUILD) $(OUTPUT)
@@ -157,4 +179,6 @@ help:
@echo available targets: all run clean
@echo $(OUTPUT)
-include $(DEPS)
-include $(DEPS)
endif

View File

@@ -9,5 +9,25 @@
}
],
"dictionaries": ["project-words"],
"ignorePaths": ["node_modules", "compile_commands.json", "WWWData.h", "**/venv/**", "lib/eModbus", "lib/ESPAsyncWebServer", "lib/espMqttClient", "analyse.html", "dist", "**/*.csv", "**/*.md", "**/*.py", "locale_translations.h", "TZ.tsx", "**/*.txt","build/**", "**/i18n/**", "/project-words.txt"]
"ignorePaths": [
"node_modules",
"compile_commands.json",
"WWWData.h", "**/venv/**",
"lib/eModbus",
"lib/ESPAsyncWebServer",
"lib/espMqttClient",
"analyse.html",
"dist",
"**/*.csv",
"**/*.md",
"**/*.py",
"locale_translations.h",
"TZ.tsx",
"**/*.txt",
"build/**",
"**/i18n/**",
"/project-words.txt",
"Makefile",
"src/modbus_entity_parameters.hpp"
]
}

27
echo_progress.py Normal file
View File

@@ -0,0 +1,27 @@
"""
Print makefile progress
"""
import argparse
import math
import sys
def main():
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument("--stepno", type=int, required=True)
parser.add_argument("--nsteps", type=int, required=True)
parser.add_argument("remainder", nargs=argparse.REMAINDER)
args = parser.parse_args()
nchars = int(math.log(args.nsteps, 10)) + 1
fmt_str = "[{:Xd}/{:Xd}]({:6.2f}%)".replace("X", str(nchars))
progress = 100 * args.stepno / args.nsteps
sys.stdout.write(fmt_str.format(args.stepno, args.nsteps, progress))
for item in args.remainder:
sys.stdout.write(" ")
sys.stdout.write(item)
sys.stdout.write("\n")
if __name__ == "__main__":
main()

View File

@@ -33,7 +33,7 @@ EOL
# build emsesp for standalone
make clean
make ARGS=-DEMSESP_STANDALONE
make -s ARGS=-DEMSESP_STANDALONE
# Generate Modbus entity parameters
# One to build the modbus_entity_parameters.hpp header file
@@ -43,7 +43,7 @@ echo "test entity_dump" | ./emsesp | python3 ./scripts/strip_csv.py | python3 ./
ls -al ./src/modbus_entity_parameters.hpp
# dump_entities.csv
make ARGS=-DEMSESP_STANDALONE
make -s ARGS=-DEMSESP_STANDALONE
rm -f ./docs/dump_entities.csv
echo "test entity_dump" | ./emsesp | python3 ./scripts/strip_csv.py >./docs/dump_entities.csv
ls -al ./docs/dump_entities.csv

View File

@@ -2,6 +2,7 @@
# run from root
# make sure ncu is installed globally (https://github.com/raineorshine/npm-check-updates)
# as well as GNUMake (make) and python3
cd interface
ncu -u
@@ -16,4 +17,7 @@ yarn set version stable
yarn
yarn format
cd ..
cd ..
npx cspell "**"
sh ./scripts/generate_csv_and_headers.sh