.PHONY: all build clean help ping-service input-service output-service manager test # Default target all: build # Build all services build: ping-service input-service output-service manager # Build ping_service (root directory) ping-service: @echo "Building ping_service..." go build -o ping_service ping_service.go # Build input_service input-service: @echo "Building input_service..." cd input_service && go build -ldflags="-s -w" -o http_input_service http_input_service.go # Build output_service output-service: @echo "Building output_service..." cd output_service && go build -o output_service main.go # Build manager manager: @echo "Building manager..." cd manager && go mod tidy && go build -o manager # Clean all built binaries clean: @echo "Cleaning built binaries..." rm -f ping_service rm -f input_service/http_input_service rm -f output_service/output_service rm -f manager/manager @echo "Clean complete" # Run tests for all services test: @echo "Running tests..." go test ./... cd input_service && go test ./... cd output_service && go test ./... cd manager && go test ./... # Display help information help: @echo "Available targets:" @echo " all - Build all services (default)" @echo " build - Build all services" @echo " ping-service - Build ping_service only" @echo " input-service - Build input_service only" @echo " output-service - Build output_service only" @echo " manager - Build manager only" @echo " clean - Remove all built binaries" @echo " test - Run tests for all services" @echo " help - Display this help message"