when ./building and ./installing the obnc tool, a lot of files are being created and deleted, which messes the git tree and creates a messy work tree...
the state of the modified files
after ./build --c-int-type=long --c-real-type=double
> git status --ignored --short
?? CONFIG
?? bin/obnc
?? bin/obnc-compile
?? bin/obnc-path
?? bin/obncdoc
?? lib/obnc/OBNCConfig.h
?? lib/obnc/OBNCTest
?? src/Config.h
?? src/obnc
?? src/obnc-compile
?? src/obnc-path
?? src/obncdoc
!! lib/obnc/OBNC.o
!! lib/obnc/OBNCTest.o
!! src/Clang.o
!! src/Config.o
!! src/Error.o
!! src/Files.o
!! src/Generate.o
!! src/Maps.o
!! src/ModulePaths.o
!! src/Paths.o
!! src/Range.o
!! src/StackTrace.o
!! src/Table.o
!! src/Time.o
!! src/Trees.o
!! src/Types.o
!! src/Util.o
!! src/lex.yy.o
!! src/obnc-compile.o
!! src/obnc-path.o
!! src/obnc.o
!! src/obncdoc.o
!! src/y.tab.o
and after sudo ./install
> git status --ignored --short
D lib/obnc/obncdoc/Files.def
D lib/obnc/obncdoc/Files.def.html
D lib/obnc/obncdoc/FilesTest.def
D lib/obnc/obncdoc/FilesTest.def.html
D lib/obnc/obncdoc/In.def
D lib/obnc/obncdoc/In.def.html
D lib/obnc/obncdoc/InTest.def
D lib/obnc/obncdoc/InTest.def.html
D lib/obnc/obncdoc/Input.def
D lib/obnc/obncdoc/Input.def.html
D lib/obnc/obncdoc/Input0.def
D lib/obnc/obncdoc/Input0.def.html
D lib/obnc/obncdoc/Input0Test.def
D lib/obnc/obncdoc/Input0Test.def.html
D lib/obnc/obncdoc/InputTest.def
D lib/obnc/obncdoc/InputTest.def.html
D lib/obnc/obncdoc/Math.def
D lib/obnc/obncdoc/Math.def.html
D lib/obnc/obncdoc/MathTest.def
D lib/obnc/obncdoc/MathTest.def.html
D lib/obnc/obncdoc/Out.def
D lib/obnc/obncdoc/Out.def.html
D lib/obnc/obncdoc/OutTest.def
D lib/obnc/obncdoc/OutTest.def.html
D lib/obnc/obncdoc/Strings.def
D lib/obnc/obncdoc/Strings.def.html
D lib/obnc/obncdoc/StringsTest.def
D lib/obnc/obncdoc/StringsTest.def.html
D lib/obnc/obncdoc/XYplane.def
D lib/obnc/obncdoc/XYplane.def.html
D lib/obnc/obncdoc/XYplaneTest.def
D lib/obnc/obncdoc/XYplaneTest.def.html
D lib/obnc/obncdoc/index.html
D lib/obnc/obncdoc/style.css
?? CONFIG
?? bin/obnc
?? bin/obnc-compile
?? bin/obnc-path
?? bin/obncdoc
?? lib/obnc/FilesTest
?? lib/obnc/InTest
?? lib/obnc/Input0Test
?? lib/obnc/MathTest
?? lib/obnc/OBNCConfig.h
?? lib/obnc/OBNCTest
?? lib/obnc/OutTest
?? lib/obnc/StringsTest
?? src/Config.h
?? src/obnc
?? src/obnc-compile
?? src/obnc-path
?? src/obncdoc
!! lib/obnc/OBNC.o
!! lib/obnc/OBNCTest.o
!! src/Clang.o
!! src/Config.o
!! src/Error.o
!! src/Files.o
!! src/Generate.o
!! src/Maps.o
!! src/ModulePaths.o
!! src/Paths.o
!! src/Range.o
!! src/StackTrace.o
!! src/Table.o
!! src/Time.o
!! src/Trees.o
!! src/Types.o
!! src/Util.o
!! src/lex.yy.o
!! src/obnc-compile.o
!! src/obnc-path.o
!! src/obnc.o
!! src/obncdoc.o
!! src/y.tab.o
this is quite a mess...
what already works
at that stage of the compilation of obnc, a single ./build clean leaves only the obncdoc files 👌
> ./build clean
> git status --ignored --short
D lib/obnc/obncdoc/Files.def
D lib/obnc/obncdoc/Files.def.html
D lib/obnc/obncdoc/FilesTest.def
D lib/obnc/obncdoc/FilesTest.def.html
D lib/obnc/obncdoc/In.def
D lib/obnc/obncdoc/In.def.html
D lib/obnc/obncdoc/InTest.def
D lib/obnc/obncdoc/InTest.def.html
D lib/obnc/obncdoc/Input.def
D lib/obnc/obncdoc/Input.def.html
D lib/obnc/obncdoc/Input0.def
D lib/obnc/obncdoc/Input0.def.html
D lib/obnc/obncdoc/Input0Test.def
D lib/obnc/obncdoc/Input0Test.def.html
D lib/obnc/obncdoc/InputTest.def
D lib/obnc/obncdoc/InputTest.def.html
D lib/obnc/obncdoc/Math.def
D lib/obnc/obncdoc/Math.def.html
D lib/obnc/obncdoc/MathTest.def
D lib/obnc/obncdoc/MathTest.def.html
D lib/obnc/obncdoc/Out.def
D lib/obnc/obncdoc/Out.def.html
D lib/obnc/obncdoc/OutTest.def
D lib/obnc/obncdoc/OutTest.def.html
D lib/obnc/obncdoc/Strings.def
D lib/obnc/obncdoc/Strings.def.html
D lib/obnc/obncdoc/StringsTest.def
D lib/obnc/obncdoc/StringsTest.def.html
D lib/obnc/obncdoc/XYplane.def
D lib/obnc/obncdoc/XYplane.def.html
D lib/obnc/obncdoc/XYplaneTest.def
D lib/obnc/obncdoc/XYplaneTest.def.html
D lib/obnc/obncdoc/index.html
D lib/obnc/obncdoc/style.css
strangely enough, ./build clean-all does not clean these files but adds
D src/lex.yy.c
D src/lex.yy.h
D src/y.tab.c
D src/y.tab.h
to the git status 🤔
and ./building again leaves the git status below, i.e. it modifies the files again... very confusing 😕
> git status --ignored --short
D lib/obnc/obncdoc/Files.def
D lib/obnc/obncdoc/Files.def.html
D lib/obnc/obncdoc/FilesTest.def
D lib/obnc/obncdoc/FilesTest.def.html
D lib/obnc/obncdoc/In.def
D lib/obnc/obncdoc/In.def.html
D lib/obnc/obncdoc/InTest.def
D lib/obnc/obncdoc/InTest.def.html
D lib/obnc/obncdoc/Input.def
D lib/obnc/obncdoc/Input.def.html
D lib/obnc/obncdoc/Input0.def
D lib/obnc/obncdoc/Input0.def.html
D lib/obnc/obncdoc/Input0Test.def
D lib/obnc/obncdoc/Input0Test.def.html
D lib/obnc/obncdoc/InputTest.def
D lib/obnc/obncdoc/InputTest.def.html
D lib/obnc/obncdoc/Math.def
D lib/obnc/obncdoc/Math.def.html
D lib/obnc/obncdoc/MathTest.def
D lib/obnc/obncdoc/MathTest.def.html
D lib/obnc/obncdoc/Out.def
D lib/obnc/obncdoc/Out.def.html
D lib/obnc/obncdoc/OutTest.def
D lib/obnc/obncdoc/OutTest.def.html
D lib/obnc/obncdoc/Strings.def
D lib/obnc/obncdoc/Strings.def.html
D lib/obnc/obncdoc/StringsTest.def
D lib/obnc/obncdoc/StringsTest.def.html
D lib/obnc/obncdoc/XYplane.def
D lib/obnc/obncdoc/XYplane.def.html
D lib/obnc/obncdoc/XYplaneTest.def
D lib/obnc/obncdoc/XYplaneTest.def.html
D lib/obnc/obncdoc/index.html
D lib/obnc/obncdoc/style.css
M src/lex.yy.c
M src/lex.yy.h
M src/y.tab.c
M src/y.tab.h
?? CONFIG
?? bin/obnc
?? bin/obnc-compile
?? bin/obnc-path
?? bin/obncdoc
?? lib/obnc/OBNCConfig.h
?? lib/obnc/OBNCTest
?? src/Config.h
?? src/obnc
?? src/obnc-compile
?? src/obnc-path
?? src/obncdoc
!! lib/obnc/OBNC.o
!! lib/obnc/OBNCTest.o
!! src/Clang.o
!! src/Config.o
!! src/Error.o
!! src/Files.o
!! src/Generate.o
!! src/Maps.o
!! src/ModulePaths.o
!! src/Paths.o
!! src/Range.o
!! src/StackTrace.o
!! src/Table.o
!! src/Time.o
!! src/Trees.o
!! src/Types.o
!! src/Util.o
!! src/lex.yy.o
!! src/obnc-compile.o
!! src/obnc-path.o
!! src/obnc.o
!! src/obncdoc.o
!! src/y.tab.o
the proposition
- do not track files modified by the
./building
- ignore files created by the
./building and delete them when ./build cleaning the repo
when
./building and./installing theobnctool, a lot of files are being created and deleted, which messes thegittree and creates a messy work tree...the state of the modified files
after
./build --c-int-type=long --c-real-type=doubleand after
sudo ./installthis is quite a mess...
what already works
at that stage of the compilation of
obnc, a single./build cleanleaves only theobncdocfiles 👌strangely enough,
./build clean-alldoes not clean these files but addsto the
git status🤔and
./building again leaves thegit statusbelow, i.e. it modifies the files again... very confusing 😕the proposition
./building./building and delete them when./build cleaning the repo