# Makefile for rproc CC = gcc # Compiling with optimizations and all warnings enabled for robustness. CFLAGS = -Wall -Wextra -O2 -std=c11 # No special libraries needed for linking. LDFLAGS = TARGET = rproc .PHONY: all clean install uninstall all: $(TARGET) $(TARGET): main.c $(CC) $(CFLAGS) -o $(TARGET) main.c $(LDFLAGS) clean: rm -f $(TARGET) *.log # Installs the application and the systemd service file. # Requires sudo privileges. install: $(TARGET) @echo "Installing rproc binary to /usr/local/bin..." sudo cp $(TARGET) /usr/local/bin/ @echo "Installing systemd service file to /etc/systemd/system..." sudo cp rproc.service /etc/systemd/system/ @echo "Reloading systemd daemon..." sudo systemctl daemon-reload @echo "Installation complete." @echo "IMPORTANT: Please edit /etc/systemd/system/rproc.service and set the correct WorkingDirectory." @echo "Then run 'sudo systemctl daemon-reload' again." # Uninstalls the application and the systemd service file. # Requires sudo privileges. uninstall: @echo "Stopping and disabling rproc service..." sudo systemctl stop rproc.service || true sudo systemctl disable rproc.service || true @echo "Removing rproc binary from /usr/local/bin..." sudo rm -f /usr/local/bin/rproc @echo "Removing systemd service file..." sudo rm -f /etc/systemd/system/rproc.service @echo "Reloading systemd daemon..." sudo systemctl daemon-reload @echo "Uninstallation complete."