Fixed edge case in serve target by properly handling frontend process cleanup
- Replaced `kill %1` with `kill $$FRONTEND_PID` to ensure correct process termination.
- Captures frontend process PID (`$$!`) explicitly for better reliability.
- Prevents potential issues when multiple background jobs exist.
- Improved Makefile structure for readability and maintainability.
Signed-off-by: Yehowshua <yehowshua@joyofhardware.com>
Its make was moved to `serve` target in ccec612687, but we can't use `serve` target in the nix build
It's also run after `frontend` target is already built which probably causes the `frontend` target to build.