#-PRE xxxx # enscripten WebAssembly config WANT_WASM=1 WASM_DEBUG=1 WASM_DATA_DIR=$(NHSROOT)/src/wasm-data # toolchain EMCC=emcc EMAR=emar rcu EMRANLIB=emranlib # link flags EMCC_LFLAGS=-s SINGLE_FILE=1 EMCC_LFLAGS=-s WASM=1 EMCC_LFLAGS+=-s ALLOW_TABLE_GROWTH EMCC_LFLAGS+=-s ASYNCIFY -s ASYNCIFY_IMPORTS='["_nhmain"]' -O3 EMCC_LFLAGS+=-s MODULARIZE EMCC_LFLAGS+=-s EXPORTED_FUNCTIONS='["_main", "_shim_graphics_set_callback"]' EMCC_LFLAGS+=-s EXPORTED_RUNTIME_METHODS='["cwrap", "ccall", "addFunction", "removeFunction", "UTF8ToString", "getValue", "setValue"]' EMCC_LFLAGS+=-s ERROR_ON_UNDEFINED_SYMBOLS=0 EMCC_LFLAGS+=--embed-file wasm-data@/ # WASM C flags EMCC_CFLAGS= EMCC_CFLAGS+=-Wall EMCC_CFLAGS+=-Werror EMCC_DEBUG_CFLAGS+=-s ASSERTIONS=1 EMCC_DEBUG_CFLAGS+=-s STACK_OVERFLOW_CHECK=2 EMCC_DEBUG_CFLAGS+=-s SAFE_HEAP=1 EMCC_DEBUG_CFLAGS+=-s LLD_REPORT_UNDEFINED EMCC_PROD_CFLAGS+=-O3 # Nethack C flags CFLAGS+=-DSYSCF -DSYSCF_FILE=\"/sysconf\" -DSECURE CFLAGS+=-g -I../include -DNOTPARMDECL CFLAGS+=-Wall CFLAGS+=-Werror CFLAGS+=-DGCC_WARN # NetHack sources control CFLAGS+=-DDLB CFLAGS+=-DHACKDIR=\"$(HACKDIR)\" CFLAGS+=-DDLB #CFLAGS+=-DGREPPATH=\"/usr/bin/grep\" CFLAGS+=-DNOMAIL ifdef WASM_DEBUG EMCC_CFLAGS+=$(EMCC_DEBUG_CFLAGS) else EMCC_CFLAGS+=$(EMCC_PROD_CFLAGS) endif # installation config # hackdir is the wasm / emscripten embed data root directory HACKDIR=/ CHOWN=/usr/bin/true CHGRP=/usr/bin/true GAMEPERM = 0700 VARFILEPERM = 0600 VARDIRPERM = 0700 INSTDIR=$(HACKDIR) VARDIR=$(HACKDIR) #-POST # no post