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