# Makefile for ai.unturf.com Language Examples # This Makefile contains commands for building and testing language example implementations # Each language demonstrates usage of Hermes AI, Qwen Coder, and TTS endpoints # Language list from webwords project LANGUAGES := assembly awk bash brainfuck c clojure cobol cpp crystal csharp dart deno elixir erlang fortran fsharp go haskell java js julia kotlin lua matlab nim ocaml odin perl php powershell prolog python r ruby rust scala sql swift tcl v vbnet zig # Docker image prefix IMAGE_PREFIX := ai-unturf # Test endpoints HERMES_ENDPOINT := https://hermes.ai.unturf.com/v1 QWEN_ENDPOINT := https://qwen.ai.unturf.com/v1 TTS_ENDPOINT := https://speech.ai.unturf.com/v1 .PHONY: help help: @echo "Language Examples Makefile Commands:" @echo "" @echo " make languages-list - List all language directories" @echo " make languages-build-python - Build Docker image for Python" @echo " make languages-test-python - Test Python implementation" @echo " make languages-run-python - Run Python container interactively" @echo " make languages-stop-python - Stop Python container" @echo " make languages-clean-python - Remove Python container and image" @echo "" @echo " make languages-build-all - Build all language Docker images" @echo " make languages-test-all - Test all language implementations" @echo " make languages-stop-all - Stop all language containers" @echo " make languages-clean-all - Remove all language containers and images" @echo "" @echo " Replace 'python' with any language: $(LANGUAGES)" @echo "" @echo "Test Endpoints:" @echo " Hermes: $(HERMES_ENDPOINT)" @echo " Qwen: $(QWEN_ENDPOINT)" @echo " TTS: $(TTS_ENDPOINT)" .PHONY: languages-list languages-list: @echo "Available language directories:" @ls -1 languages/ # Python language targets .PHONY: languages-build-python languages-build-python: docker build -t $(IMAGE_PREFIX)-python languages/python/ .PHONY: languages-test-python languages-test-python: @echo "Testing Python implementation..." docker run --rm $(IMAGE_PREFIX)-python .PHONY: languages-run-python languages-run-python: docker run -it --rm --name test-python $(IMAGE_PREFIX)-python .PHONY: languages-stop-python languages-stop-python: docker stop test-python || true docker rm test-python || true .PHONY: languages-clean-python languages-clean-python: languages-stop-python docker rmi $(IMAGE_PREFIX)-python || true # Go language targets .PHONY: languages-build-go languages-build-go: docker build -t $(IMAGE_PREFIX)-go languages/go/ .PHONY: languages-test-go languages-test-go: @echo "Testing Go implementation..." docker run --rm $(IMAGE_PREFIX)-go .PHONY: languages-run-go languages-run-go: docker run -it --rm --name test-go $(IMAGE_PREFIX)-go .PHONY: languages-stop-go languages-stop-go: docker stop test-go || true docker rm test-go || true .PHONY: languages-clean-go languages-clean-go: languages-stop-go docker rmi $(IMAGE_PREFIX)-go || true # JavaScript/Node.js language targets .PHONY: languages-build-js languages-build-js: docker build -t $(IMAGE_PREFIX)-js languages/js/ .PHONY: languages-test-js languages-test-js: @echo "Testing JavaScript implementation..." docker run --rm $(IMAGE_PREFIX)-js .PHONY: languages-run-js languages-run-js: docker run -it --rm --name test-js $(IMAGE_PREFIX)-js .PHONY: languages-stop-js languages-stop-js: docker stop test-js || true docker rm test-js || true .PHONY: languages-clean-js languages-clean-js: languages-stop-js docker rmi $(IMAGE_PREFIX)-js || true # Rust language targets .PHONY: languages-build-rust languages-build-rust: docker build -t $(IMAGE_PREFIX)-rust languages/rust/ .PHONY: languages-test-rust languages-test-rust: @echo "Testing Rust implementation..." docker run --rm $(IMAGE_PREFIX)-rust .PHONY: languages-run-rust languages-run-rust: docker run -it --rm --name test-rust $(IMAGE_PREFIX)-rust .PHONY: languages-stop-rust languages-stop-rust: docker stop test-rust || true docker rm test-rust || true .PHONY: languages-clean-rust languages-clean-rust: languages-stop-rust docker rmi $(IMAGE_PREFIX)-rust || true # Ruby language targets .PHONY: languages-build-ruby languages-build-ruby: docker build -t $(IMAGE_PREFIX)-ruby languages/ruby/ .PHONY: languages-test-ruby languages-test-ruby: @echo "Testing Ruby implementation..." docker run --rm $(IMAGE_PREFIX)-ruby .PHONY: languages-run-ruby languages-run-ruby: docker run -it --rm --name test-ruby $(IMAGE_PREFIX)-ruby .PHONY: languages-stop-ruby languages-stop-ruby: docker stop test-ruby || true docker rm test-ruby || true .PHONY: languages-clean-ruby languages-clean-ruby: languages-stop-ruby docker rmi $(IMAGE_PREFIX)-ruby || true # C language targets .PHONY: languages-build-c languages-build-c: docker build -t $(IMAGE_PREFIX)-c languages/c/ .PHONY: languages-test-c languages-test-c: @echo "Testing C implementation..." docker run --rm $(IMAGE_PREFIX)-c .PHONY: languages-run-c languages-run-c: docker run -it --rm --name test-c $(IMAGE_PREFIX)-c .PHONY: languages-stop-c languages-stop-c: docker stop test-c || true docker rm test-c || true .PHONY: languages-clean-c languages-clean-c: languages-stop-c docker rmi $(IMAGE_PREFIX)-c || true # C++ language targets .PHONY: languages-build-cpp languages-build-cpp: docker build -t $(IMAGE_PREFIX)-cpp languages/cpp/ .PHONY: languages-test-cpp languages-test-cpp: @echo "Testing C++ implementation..." docker run --rm $(IMAGE_PREFIX)-cpp .PHONY: languages-run-cpp languages-run-cpp: docker run -it --rm --name test-cpp $(IMAGE_PREFIX)-cpp .PHONY: languages-stop-cpp languages-stop-cpp: docker stop test-cpp || true docker rm test-cpp || true .PHONY: languages-clean-cpp languages-clean-cpp: languages-stop-cpp docker rmi $(IMAGE_PREFIX)-cpp || true # Bash language targets .PHONY: languages-build-bash languages-build-bash: docker build -t $(IMAGE_PREFIX)-bash languages/bash/ .PHONY: languages-test-bash languages-test-bash: @echo "Testing Bash implementation..." docker run --rm $(IMAGE_PREFIX)-bash .PHONY: languages-run-bash languages-run-bash: docker run -it --rm --name test-bash $(IMAGE_PREFIX)-bash .PHONY: languages-stop-bash languages-stop-bash: docker stop test-bash || true docker rm test-bash || true .PHONY: languages-clean-bash languages-clean-bash: languages-stop-bash docker rmi $(IMAGE_PREFIX)-bash || true # Build all language implementations .PHONY: languages-build-all languages-build-all: @echo "Building all language implementations..." @for lang in $(LANGUAGES); do \ echo "Building $$lang..."; \ docker build -t $(IMAGE_PREFIX)-$$lang languages/$$lang/ || echo "Failed to build $$lang"; \ done # Test all language implementations .PHONY: languages-test-all languages-test-all: @echo "Testing all language implementations..." @for lang in $(LANGUAGES); do \ echo "Testing $$lang..."; \ docker run --rm $(IMAGE_PREFIX)-$$lang || echo "Failed to test $$lang"; \ done # Stop all language containers .PHONY: languages-stop-all languages-stop-all: @echo "Stopping all language containers..." @for lang in $(LANGUAGES); do \ docker stop test-$$lang 2>/dev/null || true; \ docker rm test-$$lang 2>/dev/null || true; \ done # Clean all language containers and images .PHONY: languages-clean-all languages-clean-all: languages-stop-all @echo "Removing all language images..." @for lang in $(LANGUAGES); do \ docker rmi $(IMAGE_PREFIX)-$$lang 2>/dev/null || true; \ done