GOC=go build GOFLAGS=-a -ldflags '-s' CGOR=CGO_ENABLED=0 OS_PERMS=sudo NETHACK_DIR=$(shell pwd)/hack IMAGE_NAME=nethack_launch all: stat run: go run \ nethack-launcher/check_dir.go \ nethack-launcher/cleanup.go \ nethack-launcher/create_initial_files.go \ nethack-launcher/create_user_files.go \ nethack-launcher/janitor.go \ nethack-launcher/nethack-launcher.go \ nethack-launcher/print_change_password_screen.go \ nethack-launcher/print_high_scores.go \ nethack-launcher/print_login_screen.go \ nethack-launcher/print_progress_screen.go \ nethack-launcher/print_register_screen.go \ nethack-launcher/print_user_screen.go \ nethack-launcher/print_welcome_screen.go \ nethack-launcher/recover_save.go \ nethack-launcher/run_game.go \ nethack-launcher/start_watcher.go stat: mkdir -p bin/ $(CGOR) $(GOC) $(GOFLAGS) -o bin/nethack-launcher nethack-launcher/*.go dependencies: go get github.com/gorilla/mux build_docker: fetch_sotw mkdir -p stage.tmp/ cp deps/Dockerfile stage.tmp/ cp config.gcfg stage.tmp/config.gcfg cp bin/nethack-launcher stage.tmp/ cp deps/redis.conf stage.tmp/ cp deps/run.sh stage.tmp/ cp deps/nethackrc stage.tmp/ cp deps/chowner.sh stage.tmp/ cp deps/run_nethack.sh stage.tmp/ cp deps/reclist.c stage.tmp/ cp deps/link_sotw.sh stage.tmp/ cp deps/clean.sh stage.tmp/ cp deps/scores.dat stage.tmp/ wget -O stage.tmp/redis-server https://cryo.unixvoid.com/bin/redis/5.0.7/redis-server chmod +x stage.tmp/redis-server cd stage.tmp/ && \ $(OS_PERMS) docker build -t $(IMAGE_NAME) . fetch_sotw: mkdir -p stage.tmp/ wget https://cryo.unixvoid.com/bin/misc/sotw/shadow-of-the-wyrm-release-1.1.7.tar.gz mv shadow-of-the-wyrm-release-1.1.7.tar.gz stage.tmp/sotw.tar.gz run_docker: $(OS_PERMS) docker run \ -d \ -p 2222:22 \ --name=nethack \ -v $(NETHACK_DIR):/hack:rw \ --restart always \ $(IMAGE_NAME) clean: rm -rf bin/ rm -rf stage.tmp/