You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
1.8 KiB
70 lines
1.8 KiB
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/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/ |
|
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/
|
|
|