more wasm build
This issue https://github.com/NetHack/NetHack/issues/398 reported some issues with the wasm build. Attempt to resolve some of those.
This commit is contained in:
@@ -120,7 +120,7 @@ amigapkg: $(GAMEBIN) $(TARGETPFX)recover.exe ../dat/nhtiles.bmp
|
||||
endif # CROSS_TO_AMIGA
|
||||
|
||||
ifdef CROSS_TO_WASM
|
||||
$(WASM_TARGET): pregame $(HOBJ) $(LUACROSSLIB) $(WASM_DATA_DIR)
|
||||
$(WASM_TARGET): pregame $(HOSTOBJ) $(HOBJ) $(LUACROSSLIB) $(WASM_DATA_DIR)
|
||||
-rm $@
|
||||
$(TARGET_CC) $(TARGET_LFLAGS) $(TARGET_CFLAGS) -o $@ \
|
||||
$(HOBJ) $(TARGET_LIBS)
|
||||
@@ -132,7 +132,7 @@ $(WASM_DATA_DIR): $(WASM_DATA_DIR)/nhdat
|
||||
touch $(WASM_DATA_DIR)/xlogfile
|
||||
cp ../sys/lib/sysconf $(WASM_DATA_DIR)/sysconf
|
||||
|
||||
$(WASM_DATA_DIR)/nhdat:
|
||||
$(WASM_DATA_DIR)/nhdat: $(WASM_VARDAT)
|
||||
( cd ..; $(MAKE) INSTDIR='$(WASM_DATA_DIR)' dlb )
|
||||
( cd ..; $(MAKE) INSTDIR='$(WASM_DATA_DIR)' dofiles-dlb )
|
||||
|
||||
@@ -143,6 +143,8 @@ $(TARGETPFX)unixunix.o : ../sys/unix/unixunix.c $(HACK_H)
|
||||
$(TARGETPFX)ioctl.o : ../sys/share/ioctl.c $(HACK_H)
|
||||
$(TARGETPFX)unixtty.o : ../sys/share/unixtty.c $(HACK_H)
|
||||
$(TARGETPFX)winshim.o : ../win/shim/winshim.c $(HACK_H)
|
||||
$(TARGETPFX)libnethackmain.o : ../sys/lib/libnethackmain.c \
|
||||
$(HACK_H) ../include/date.h
|
||||
endif # CROSS_TO_WASM
|
||||
#
|
||||
|
||||
|
||||
@@ -338,11 +338,30 @@ endif
|
||||
override TARGET_CC = emcc
|
||||
override TARGET_CXX = emcc
|
||||
override TARGET_AR = emar
|
||||
override TARGET_CFLAGS = $(EMCC_CFLAGS) \
|
||||
-I../include \
|
||||
$(LUAINCL) -DDLB $(PDCURSESDEF) \
|
||||
-DNOTTYGRAPHICS -DSHIM_GRAPHICS -DDEFAULT_WINDOW_SYS=\"shim\" \
|
||||
-DCROSSCOMPILE -DCROSSCOMPILE_TARGET -DCROSS_TO_WASM -DLIBNH
|
||||
WASM_CFLAGS = -Wall -Wextra -Wno-missing-field-initializers
|
||||
WASM_CFLAGS += -Wimplicit -Wreturn-type -Wunused -Wformat -Wswitch
|
||||
WASM_CFLAGS += -Wshadow
|
||||
# WASM_CFLAGS += -Wwrite-strings
|
||||
# WASM_CFLAGS += -Werror
|
||||
# Nethack C flags
|
||||
WASM_CFLAGS += $(WINCFLAGS) #WINCFLAGS set from multiw-2.2020
|
||||
WASM_CFLAGS += -DSYSCF -DSYSCF_FILE=\"/sysconf\" -DSECURE
|
||||
WASM_CFLAGS += -g -I../include -DNOTPARMDECL
|
||||
WASM_CFLAGS += -DGCC_WARN
|
||||
# NetHack sources control
|
||||
WASM_CFLAGS += -DDLB
|
||||
WASM_CFLAGS += -DHACKDIR=\"$(HACKDIR)\"
|
||||
WASM_CFLAGS += -DDEFAULT_WINDOW_SYS=\"shim\" \
|
||||
#override TARGET_CFLAGS += -DGREPPATH=\"/usr/bin/grep\"
|
||||
WASM_CFLAGS += -DNOMAIL
|
||||
WASM_CFLAGS += $(LUAINCL)
|
||||
WASM_CFLAGS += -DNOTTYGRAPHICS -DSHIM_GRAPHICS -DLIBNH
|
||||
WASM_CFLAGS += -DCROSSCOMPILE
|
||||
WASM_TARGET_CFLAGS = -DCROSSCOMPILE_TARGET -DCROSS_TO_WASM
|
||||
# For src Makefile
|
||||
override CFLAGS = $(WASM_CFLAGS)
|
||||
override TARGET_CFLAGS = $(EMCC_CFLAGS) $(WASM_CFLAGS) $(WASM_TARGET_CFLAGS)
|
||||
#
|
||||
override TARGET_CXXFLAGS = $(TARGET_CFLAGS)
|
||||
override TARGET_LINK = $(TARGET_CC)
|
||||
override TARGET_LFLAGS= $(EMCC_LFLAGS)
|
||||
@@ -358,11 +377,11 @@ override WINLIB = emranlib
|
||||
override LUALIB=
|
||||
override REGEXOBJ = $(TARGETPFX)posixregex.o
|
||||
override WINOBJ=
|
||||
#override INSTDIR = $(WASM_DATA_DIR)
|
||||
#override PACKAGE= wasmpkg
|
||||
#override MOREALL = ( cd src ; $(MAKE) $(WASM_TARGET) )
|
||||
# don't bother Making regular NetHack executable
|
||||
override GAME=
|
||||
override ALLDEP = wasm
|
||||
# the real VARDAT hasn't been defined yet for use in ALLDEP override
|
||||
WASM_DAT = bogusmon data engrave epitaph oracles options quest.lua rumors
|
||||
override ALLDEP = include/nhlua.h $(WASM_DAT) wasm spec_levs check-dlb
|
||||
override PREGAME += mkdir -p $(TARGETDIR)/wasm-data ;
|
||||
override CLEANMORE += rm -rf $(TARGETDIR) ;
|
||||
RANLIB=$(EMRANLIB)
|
||||
|
||||
Reference in New Issue
Block a user