6 Dependency and build state is kept inside @file{.redo} subdirectory in
7 each directory related the build. Each corresponding target has its own,
8 recreated with every rebuild, binary @file{.dep} file.
10 It starts with the header:
13 "GOREDO" || 0x01 || BuildUUID
16 @code{0x01} is format's version number. @code{BuildUUID} is 128-bit UUID.
18 After the header comes concatenation of length-prefixed chunks. Length
19 is the length of the whole chunk, including the size of the encoded
20 length itself. It is 16-bit big-endian integer. After the length comes
21 single byte type of the chunk:
31 @code{target} is UTF-8 encoded target's name.
38 ctimeSec || ctimeNsec ||
39 mtimeSec || mtimeNsec ||
43 @code{target} is UTF-8 encoded target's name.
44 @code{hash} is 256-bit BLAKE3 hash.
45 All other inode-related fields are 64-bit big-endian integers.
59 @code{hash} is 256-bit BLAKE3 hash.
61 @item ifchange-nonexistent
67 @code{target} is UTF-8 encoded target's name.
71 That @file{.dep} file can be converted to human-readable
72 @url{https://www.gnu.org/software/recutils/, recfile} format.
76 Build: 80143f04-bfff-4673-950c-081d712f573d
89 Hash: f4929732f96f11e6d4ebe94536b5edef426d00ed0146853e37a87f4295e18eda
94 Hash: 5bbdf635932cb16b9127e69b6f3872577efed338f0a4ab6f2c7ca3df6ce50cc9
97 And its schema definition:
98 @verbatiminclude ../dep.rec