Skip to content

the compilation and installation leave a lot of change files, this is confusing #5

Description

@amtoine

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions