From e0a5fca0d59c6f021d0325d5c9ae4732ac913b7b Mon Sep 17 00:00:00 2001 From: couriersud Date: Sat, 2 May 2020 23:43:42 +0200 Subject: [PATCH] netlist: stand-alone build fixes and improvements. (nw) --- src/lib/netlist/.gitignore | 3 ++ src/lib/netlist/build/makefile | 41 +++++++++++-------- src/lib/netlist/buildVS/netlistlib.vcxproj | 2 + .../buildVS/netlistlib.vcxproj.filters | 6 +++ 4 files changed, 36 insertions(+), 16 deletions(-) diff --git a/src/lib/netlist/.gitignore b/src/lib/netlist/.gitignore index 79cfb40c0dd..db6d315f3ef 100644 --- a/src/lib/netlist/.gitignore +++ b/src/lib/netlist/.gitignore @@ -7,3 +7,6 @@ nltool nlwav nltool.exe nlwav.exe +doxygen +doxyindexer +doxysearch.cgi diff --git a/src/lib/netlist/build/makefile b/src/lib/netlist/build/makefile index 1070b53bcc0..37e4133ee27 100644 --- a/src/lib/netlist/build/makefile +++ b/src/lib/netlist/build/makefile @@ -23,7 +23,6 @@ SRC = .. VSBUILD = $(SRC)/buildVS DOC = $(SRC)/documentation -TIDY_DB = ../compile_commands.json TIDY_FLAGSX = -checks=*,-google*,-hicpp*,readability*,-fuchsia*,cert-*,-android-*, TIDY_FLAGSX += -llvm-header-guard,-cppcoreguidelines-pro-type-reinterpret-cast, @@ -33,16 +32,18 @@ TIDY_FLAGSX += -modernize-pass-by-value,-cppcoreguidelines-pro-type-static-cast- #TIDY_FLAGSX += -cppcoreguidelines-avoid-magic-numbers, TIDY_FLAGSX += -cppcoreguidelines-macro-usage, #TIDY_FLAGSX += -cppcoreguidelines-non-private-member-variables-in-classes,-misc-non-private-member-variables-in-classes, -TIDY_FLAGSX += -bugprone-macro-parentheses,-misc-macro-parentheses, +TIDY_FLAGSX += -bugprone-macro-parentheses, +#TIDY_FLAGSX += -misc-macro-parentheses, TIDY_FLAGSX += -bugprone-too-small-loop-variable, TIDY_FLAGSX += -modernize-use-trailing-return-type, TIDY_FLAGSX += -cppcoreguidelines-pro-bounds-array-to-pointer-decay, TIDY_FLAGSX += -readability-magic-numbers,-readability-implicit-bool-conversion,-readability-braces-around-statements, -TIDY_FLAGSX += -readability-named-parameter,-readability-function-size +TIDY_FLAGSX += -readability-named-parameter,-readability-function-size, +TIDY_FLAGSX += -llvmlibc-restrict-system-libc-headers,-llvmlibc-implementation-in-namespace space := space += -TIDY_FLAGS = $(subst $(space),,$(TIDY_FLAGSX)) +TIDY_FLAGS = -p $(OBJ) $(subst $(space),,$(TIDY_FLAGSX)) TIDY_SOURCES = $(SOURCES) #TIDY_SOURCES = $(SRC)/devices/nld_7442.cpp $(SRC)/devices/nld_7492.cpp @@ -65,7 +66,8 @@ DOXYGEN = @./doxygen HOSTARCH = NIX endif -#-fuse-ld=gold -Wpedantic -march=native -march=native +TIDY_DB = $(OBJ)/compile_commands.json + # LTO = -flto=4 -fuse-linker-plugin -flto-partition=balanced -Wodr @@ -77,7 +79,7 @@ CC = g++ LD = @g++ MD = @mkdir RM = @rm -CLANG_TIDY = clang-tidy-10 +CLANG_TIDY = clang-tidy-11 ifndef FAST FAST=1 @@ -92,6 +94,8 @@ TARGETS = nltool$(EXESUFFIX) nlwav$(EXESUFFIX) NLOBJ = $(OBJ) POBJ = $(OBJ)/plib +DEPEND = $(OBJ)/.depend + OBJDIRS = $(OBJ) \ $(OBJ)/analog \ $(OBJ)/solver \ @@ -223,18 +227,24 @@ MAKEFILE_TARGETS_WITHOUT_INCLUDE := clean doc clang mingw nvcc # git archive HEAD --prefix=project-name-version/ \ # --format=zip -o project-name-version.zip +#------------------------------------------------- +# PHONY +#------------------------------------------------- + +.PHONY: clang clang-5 mingw doc native maketree depend $(DEPEND) + #------------------------------------------------- # all #------------------------------------------------- -all: maketree depend $(TARGETS) +all: maketree depend $(TARGETS) #------------------------------------------------- # clean #------------------------------------------------- clean: - $(RM) -rf $(OBJS) $(TARGETS) $(OBJ)/prg/nltool.o $(OBJ)/prg/nlwav.o .depend doxy/* + $(RM) -rf $(OBJS) $(TARGETS) $(OBJ)/prg/nltool.o $(OBJ)/prg/nlwav.o $(DEPEND) doxy/* #------------------------------------------------- # nltool @@ -248,6 +258,7 @@ nlwav$(EXESUFFIX): $(OBJ)/prg/nlwav.o $(PMAIN) $(OBJS) @echo Linking $@... $(LD) -o $@ $(LDFLAGS) $^ $(LIBS) + #------------------------------------------------- # directories #------------------------------------------------- @@ -261,8 +272,6 @@ maketree: $(sort $(OBJDIRS)) # Special targets #------------------------------------------------- -.PHONY: clang clang-5 mingw doc native - native: $(MAKE) CEXTRAFLAGS="-march=native -msse4.2 -Wall -Wpedantic -Wsign-compare -Wextra " @@ -312,18 +321,18 @@ doc: nltool$(EXESUFFIX) # depends #------------------------------------------------- -.depend: $(SOURCES) - @echo creating .depend - @rm -f ./.depend +$(DEPEND): maketree $(SOURCES) + @echo creating $(DEPEND) + @rm -f $(DEPEND) @for i in $(SOURCES); do \ - $(CC) $(CFLAGS) -MM $$i -MT `echo $$i | sed -e 's+$(SRC)+$(OBJ)+' -e 's+.cpp+.o+' ` >> ./.depend; \ + $(CC) $(CFLAGS) -MM $$i -MT `echo $$i | sed -e 's+$(SRC)+$(OBJ)+' -e 's+.cpp+.o+' ` >> $(DEPEND); \ done -depend: .depend +depend: $(DEPEND) # Include only if the goal needs it ifeq ($(filter $(MAKECMDGOALS),$(MAKEFILE_TARGETS_WITHOUT_INCLUDE)),) --include .depend +-include $(DEPEND) endif #------------------------------------------------- diff --git a/src/lib/netlist/buildVS/netlistlib.vcxproj b/src/lib/netlist/buildVS/netlistlib.vcxproj index 78b00d6ac74..231ced66701 100755 --- a/src/lib/netlist/buildVS/netlistlib.vcxproj +++ b/src/lib/netlist/buildVS/netlistlib.vcxproj @@ -117,6 +117,7 @@ + @@ -204,6 +205,7 @@ + diff --git a/src/lib/netlist/buildVS/netlistlib.vcxproj.filters b/src/lib/netlist/buildVS/netlistlib.vcxproj.filters index 976c81f914b..4416e3295b2 100755 --- a/src/lib/netlist/buildVS/netlistlib.vcxproj.filters +++ b/src/lib/netlist/buildVS/netlistlib.vcxproj.filters @@ -264,6 +264,9 @@ Source Files + + Source Files + @@ -635,5 +638,8 @@ Header Files + + Header Files + \ No newline at end of file