add some remote utility commands
This commit is contained in:
56
Makefile
56
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"
|
||||
|
||||
Reference in New Issue
Block a user