Add `libwren.a` and `libwrend.a` static library targets that exclude `main.o`, compile all objects with `-fPIC`, and link the interpreter binaries against the archives instead of individual objects.
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.