Reorder the `-lm` flag from before the output file to after the object file list
in both debug (`wrend`) and release (`wren`) linker commands. This fixes linking
errors with `gcc` which requires libraries to follow the objects that reference
them, while `clang` is unaffected by the flag position.
The getline function's return value was previously ignored, causing gcc to emit a
warning that was treated as an error during build. This commit captures the return
value in a ssize_t variable and adds a check for -1 (indicating read failure) to
the existing feof(stdin) condition, ensuring both EOF and error conditions are
properly handled.