makefile rules for *.i files broken
The makefile rules for generating the *.i files are not working for me under cygwin. The rules are intended to generate .i files that contain lines like:
"388282ad2a9be7209d64f18d05b1ba65fd254dc8 *src/common/aes.c\n"
However, instead of inserting the substring "\n", the makefile is inserting a 0x0A control character, so the trailing doublequote is getting split to a second line, like this:
"388282ad2a9be7209d64f18d05b1ba65fd254dc8 *src/common/aes.c "
As a result, the file will not compile.
The fix for me was to edit the makefile to change the rules for src/common/common_sha1.i and src/or/or_sha1.i. Where the rules read:
"sed" -n [some more stuff] [backslash]1[backslash][backslash]n"/p'
I changed the backslash-backslash-n to backslash-backslash-backslash-n, so that it then reads:
"sed" -n [some more stuff] [backslash]1[backslash][backslash][backslash]n"/p'
Note: when I typed multiple \ characters into the description above, they disappeared in the preview screen, so I have used [backslash] to represent a single \ character in the lines above.
In summary, I made a total of four changes, inserting one \ character on four different "sed" lines in the makefile. With these changes, the *.i files were generated correctly.
Trac:
Username: Alan