|
|
|
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.6.tar.gz
|
|
|
|
mv shadow-of-the-wyrm-release-1.1.6.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/
|