From 366405c82a779be2b0ad5f1e5b23673d105dd8db Mon Sep 17 00:00:00 2001 From: Fredrik Robertsen Date: Sat, 7 Feb 2026 22:55:54 +0100 Subject: [PATCH] add some remote utility commands --- Makefile | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 50 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index c3d3403..25f3493 100644 --- a/Makefile +++ b/Makefile @@ -1,11 +1,55 @@ CC = cc +CFLAGS = -Wall -Wextra -O2 +SOURCE_FOLDER = src +SOURCE = main.c +TARGET = wamf OUTPUT_FOLDER = output -OUTPUT = $(OUTPUT_FOLDER)/wamf +OUTPUT = $(OUTPUT_FOLDER)/$(TARGET) -all: run +REMOTE_USER = root +REMOTE_HOST = innovation.pvv.ntnu.no +REMOTE_DIR = /tmp/wamf +REMOTE_PATH = $(REMOTE_USER)@$(REMOTE_HOST):$(REMOTE_DIR) + +.PHONY: all clean + +all: $(OUTPUT) $(OUTPUT_FOLDER): mkdir $(OUTPUT_FOLDER) -build: $(OUTPUT_FOLDER) - $(CC) -o $(OUTPUT) src/main.c -run: build - cd $(OUTPUT_FOLDER) && ./wamf +$(OUTPUT): $(SOURCE_FOLDER)/$(SOURCE) $(OUTPUT_FOLDER) + $(CC) $(CFLAGS) -o $(OUTPUT) $(SOURCE_FOLDER)/$(SOURCE) +clean: + rm -rf $(OUTPUT_FOLDER) + +.PHONY: deploy remote-build remote-clean remote-run + +deploy: + @echo "Creating remote directory..." + ssh $(REMOTE_USER)@$(REMOTE_HOST) "mkdir -p $(REMOTE_DIR)" + @echo "Copying source files to $(REMOTE_HOST)..." + scp $(SOURCE_FOLDER)/$(SOURCE) $(REMOTE_PATH)/$(SOURCE_FOLDER) + scp Makefile $(REMOTE_PATH) + @echo "Files deployed successfully" + +remote-build: deploy + @echo "Building on remote server..." + ssh $(REMOTE_USER)@$(REMOTE_HOST) "cd $(REMOTE_DIR) && make all" + @echo "Build completed on remote server" + +remote-clean: + @echo "Cleaning remote build..." + ssh $(REMOTE_USER)@$(REMOTE_HOST) "cd $(REMOTE_DIR) && make clean" + +remote-run: remote-build + @echo "Running on remote server..." + ssh $(REMOTE_USER)@$(REMOTE_HOST) "cd $(REMOTE_DIR) && ./$(TARGET)" + +.PHONY: help +help: + @echo "Available targets:" + @echo " all - Build locally" + @echo " clean - Clean local build" + @echo " deploy - Copy files to remote server" + @echo " remote-build - Deploy and build on remote server" + @echo " remote-clean - Clean remote build" + @echo " remote-run - Build and run on remote server"