more wasm cross-compiling follow-up
This commit is contained in:
@@ -94,8 +94,10 @@ DATNODLB = $(VARDATND) license symbols
|
|||||||
DATDLB = $(DATHELP) dungeon.lua tribute $(SPEC_LEVS) $(QUEST_LEVS) $(VARDATD)
|
DATDLB = $(DATHELP) dungeon.lua tribute $(SPEC_LEVS) $(QUEST_LEVS) $(VARDATD)
|
||||||
DAT = $(DATNODLB) $(DATDLB)
|
DAT = $(DATNODLB) $(DATDLB)
|
||||||
|
|
||||||
|
ALLDEP = $(GAME) recover Guidebook $(VARDAT) spec_levs check-dlb
|
||||||
|
|
||||||
# first target is also the default target for 'make' without any arguments
|
# first target is also the default target for 'make' without any arguments
|
||||||
all: $(GAME) recover Guidebook $(VARDAT) spec_levs check-dlb
|
all: $(ALLDEP)
|
||||||
true; $(MOREALL)
|
true; $(MOREALL)
|
||||||
@echo "Done."
|
@echo "Done."
|
||||||
|
|
||||||
@@ -205,6 +207,9 @@ dlb:
|
|||||||
( cd util ; $(MAKE) dlb )
|
( cd util ; $(MAKE) dlb )
|
||||||
( cd dat ; LC_ALL=C ; ../util/dlb cf nhdat $(DATDLB) )
|
( cd dat ; LC_ALL=C ; ../util/dlb cf nhdat $(DATDLB) )
|
||||||
|
|
||||||
|
wasm:
|
||||||
|
( cd src ; $(MAKE) $(WASM_TARGET) )
|
||||||
|
|
||||||
package: $(GAME) recover $(VARDAT) spec_levs
|
package: $(GAME) recover $(VARDAT) spec_levs
|
||||||
( cd src ; $(MAKE) $(PACKAGE) )
|
( cd src ; $(MAKE) $(PACKAGE) )
|
||||||
|
|
||||||
|
|||||||
@@ -120,24 +120,23 @@ amigapkg: $(GAMEBIN) $(TARGETPFX)recover.exe ../dat/nhtiles.bmp
|
|||||||
endif # CROSS_TO_AMIGA
|
endif # CROSS_TO_AMIGA
|
||||||
|
|
||||||
ifdef CROSS_TO_WASM
|
ifdef CROSS_TO_WASM
|
||||||
$(WASM_TARGET): $(HOBJ) $(LUACROSSLIB) Makefile $(WASM_DATA_DIR)
|
$(WASM_TARGET): pregame $(HOBJ) $(LUACROSSLIB) $(WASM_DATA_DIR)
|
||||||
-rm $@
|
-rm $@
|
||||||
$(TARGET_CC) $(EMCC_LFLAGS) $(EMCC_CFLAGS) -o $@ \
|
$(TARGET_CC) $(TARGET_LFLAGS) $(TARGET_CFLAGS) -o $@ \
|
||||||
$(HOBJ) $(TARGET_LIBS)
|
$(HOBJ) $(TARGET_LIBS)
|
||||||
|
|
||||||
$(WASM_DATA_DIR):
|
$(WASM_DATA_DIR): $(WASM_DATA_DIR)/nhdat
|
||||||
-mkdir -p $(WASM_DATA_DIR)
|
|
||||||
touch $(WASM_DATA_DIR)/perm
|
touch $(WASM_DATA_DIR)/perm
|
||||||
touch $(WASM_DATA_DIR)/record
|
touch $(WASM_DATA_DIR)/record
|
||||||
touch $(WASM_DATA_DIR)/logfile
|
touch $(WASM_DATA_DIR)/logfile
|
||||||
touch $(WASM_DATA_DIR)/xlogfile
|
touch $(WASM_DATA_DIR)/xlogfile
|
||||||
( cd ..; $(MAKE) dlb )
|
|
||||||
( cd ..; $(MAKE) dofiles-dlb )
|
|
||||||
cp ../sys/lib/sysconf $(WASM_DATA_DIR)/sysconf
|
cp ../sys/lib/sysconf $(WASM_DATA_DIR)/sysconf
|
||||||
|
|
||||||
|
$(WASM_DATA_DIR)/nhdat:
|
||||||
|
( cd ..; $(MAKE) INSTDIR='$(WASM_DATA_DIR)' dlb )
|
||||||
|
( cd ..; $(MAKE) INSTDIR='$(WASM_DATA_DIR)' dofiles-dlb )
|
||||||
|
|
||||||
#
|
#
|
||||||
.PHONY: wasmpkg
|
|
||||||
wasmpkg:
|
|
||||||
@echo "$(WASM_TARGET) done."
|
|
||||||
$(TARGETPFX)unixmain.o : ../sys/unix/unixmain.c $(HACK_H)
|
$(TARGETPFX)unixmain.o : ../sys/unix/unixmain.c $(HACK_H)
|
||||||
$(TARGETPFX)unixres.o : ../sys/unix/unixres.c $(HACK_H)
|
$(TARGETPFX)unixres.o : ../sys/unix/unixres.c $(HACK_H)
|
||||||
$(TARGETPFX)unixunix.o : ../sys/unix/unixunix.c $(HACK_H)
|
$(TARGETPFX)unixunix.o : ../sys/unix/unixunix.c $(HACK_H)
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
ifdef CROSS_TO_MSDOS
|
ifdef CROSS_TO_MSDOS
|
||||||
|
CROSS=1
|
||||||
BUILD_TARGET_LUA=1
|
BUILD_TARGET_LUA=1
|
||||||
BUILD_PDCURSES=1
|
BUILD_PDCURSES=1
|
||||||
CROSS_SHARED=1
|
CROSS_SHARED=1
|
||||||
@@ -15,6 +16,7 @@ override TARGET_LIBS=
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef CROSS_TO_AMIGA
|
ifdef CROSS_TO_AMIGA
|
||||||
|
CROSS=1
|
||||||
BUILD_TARGET_LUA=1
|
BUILD_TARGET_LUA=1
|
||||||
BUILD_PDCURSES=1
|
BUILD_PDCURSES=1
|
||||||
CROSS_SHARED=1
|
CROSS_SHARED=1
|
||||||
@@ -25,6 +27,7 @@ override TARGET_LIBS=
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef CROSS_TO_WASM
|
ifdef CROSS_TO_WASM
|
||||||
|
CROSS=1
|
||||||
BUILD_TARGET_LUA=1
|
BUILD_TARGET_LUA=1
|
||||||
override TARGET = wasm
|
override TARGET = wasm
|
||||||
override TARGETDIR=../targets/$(TARGET)
|
override TARGETDIR=../targets/$(TARGET)
|
||||||
@@ -32,6 +35,12 @@ override TARGETPFX = $(TARGETDIR)/
|
|||||||
override TARGET_LIBS=
|
override TARGET_LIBS=
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifdef CROSS
|
||||||
|
override PREGAME=
|
||||||
|
override CLEANMORE=
|
||||||
|
override PACKAGE=
|
||||||
|
endif
|
||||||
|
|
||||||
ifdef BUILD_TARGET_LUA
|
ifdef BUILD_TARGET_LUA
|
||||||
#===============-=================================================
|
#===============-=================================================
|
||||||
# LUA library
|
# LUA library
|
||||||
@@ -61,7 +70,8 @@ LUAOBJFILES4 = $(TARGETPFX)lstring.o $(TARGETPFX)lstrlib.o \
|
|||||||
LUALIBOBJS = $(LUAOBJFILES1) $(LUAOBJFILES2) $(LUAOBJFILES3) $(LUAOBJFILES4)
|
LUALIBOBJS = $(LUAOBJFILES1) $(LUAOBJFILES2) $(LUAOBJFILES3) $(LUAOBJFILES4)
|
||||||
LUACROSSLIB = $(TARGETPFX)lua$(subst .,,$(LUA_VERSION)).a
|
LUACROSSLIB = $(TARGETPFX)lua$(subst .,,$(LUA_VERSION)).a
|
||||||
LUAINCL = -I$(LUASRCDIR)
|
LUAINCL = -I$(LUASRCDIR)
|
||||||
BUILDMORE += $(LUACROSSLIB)
|
override BUILDMORE += $(LUACROSSLIB) ;
|
||||||
|
override CLEANMORE += rm -f $(LUACROSSLIB) ;
|
||||||
override TARGET_LIBS += $(LUACROSSLIB) -lm
|
override TARGET_LIBS += $(LUACROSSLIB) -lm
|
||||||
else
|
else
|
||||||
LUAINCL=
|
LUAINCL=
|
||||||
@@ -110,7 +120,8 @@ ifdef CROSS_TO_AMIGA
|
|||||||
PDCINCL += -I$(PDCTOP)/sdl1 -I/opt/amiga/m68k-amigaos/include/SDL
|
PDCINCL += -I$(PDCTOP)/sdl1 -I/opt/amiga/m68k-amigaos/include/SDL
|
||||||
override TARGET_LIBS += -lSDL
|
override TARGET_LIBS += -lSDL
|
||||||
endif
|
endif
|
||||||
BUILDMORE += $(PDCLIB)
|
override BUILDMORE += $(PDCLIB) ;
|
||||||
|
override CLEANMORE += rm -f $(PDCLIB) ;
|
||||||
# Rules for PDCurses files
|
# Rules for PDCurses files
|
||||||
$(TARGETPFX)%.o : $(PDCTOP)/pdcurses/%.c
|
$(TARGETPFX)%.o : $(PDCTOP)/pdcurses/%.c
|
||||||
$(TARGET_CC) $(PDCINCL) $(TARGET_CFLAGS) -o$@ $<
|
$(TARGET_CC) $(PDCINCL) $(TARGET_CFLAGS) -o$@ $<
|
||||||
@@ -173,10 +184,10 @@ override SYSOBJ= $(TARGETPFX)pcmain.o $(TARGETPFX)msdos.o \
|
|||||||
override WINLIB=
|
override WINLIB=
|
||||||
override LUALIB=
|
override LUALIB=
|
||||||
override GAMEBIN = $(TARGETPFX)nethack.exe
|
override GAMEBIN = $(TARGETPFX)nethack.exe
|
||||||
override PACKAGE= dospkg
|
override PACKAGE = dospkg
|
||||||
|
override PREGAME += mkdir -p $(TARGETDIR) ;
|
||||||
|
override CLEANMORE += rm -f -r $(TARGETDIR) ;
|
||||||
VARDATND += nhtiles.bmp
|
VARDATND += nhtiles.bmp
|
||||||
PREGAME = mkdir -p $(TARGETDIR)
|
|
||||||
CLEANMORE += rm -f -r $(TARGETDIR)
|
|
||||||
#
|
#
|
||||||
ifdef WANT_WIN_CURSES
|
ifdef WANT_WIN_CURSES
|
||||||
# rules for pdcurses dos-specific files
|
# rules for pdcurses dos-specific files
|
||||||
@@ -262,9 +273,9 @@ override SYSOBJ = $(TARGETPFX)amidos.o $(TARGETPFX)amigst.o \
|
|||||||
override WINLIB=
|
override WINLIB=
|
||||||
override LUALIB=
|
override LUALIB=
|
||||||
override GAMEBIN = $(TARGETPFX)nethack
|
override GAMEBIN = $(TARGETPFX)nethack
|
||||||
override PACKAGE= amigapkg
|
override PACKAGE = amigapkg
|
||||||
PREGAME = mkdir -p $(TARGETDIR)
|
override PREGAME += mkdir -p $(TARGETDIR) ;
|
||||||
CLEANMORE += rm -r $(TARGETDIR)
|
override CLEANMORE += rm -r $(TARGETDIR) ;
|
||||||
# ../util/txt2iff
|
# ../util/txt2iff
|
||||||
#
|
#
|
||||||
ifdef WANT_WIN_CURSES
|
ifdef WANT_WIN_CURSES
|
||||||
@@ -284,9 +295,10 @@ ifdef CROSS_TO_WASM
|
|||||||
# originally from https://github.com/NetHack/NetHack/pull/385
|
# originally from https://github.com/NetHack/NetHack/pull/385
|
||||||
#===============-=================================================
|
#===============-=================================================
|
||||||
#
|
#
|
||||||
WASM_DATA_DIR = $(TARGETPFX)wasm-data/
|
WASM_DATA_DIR = $(TARGETPFX)wasm-data
|
||||||
WASM_TARGET = $(TARGETPFX)nethack.js
|
WASM_TARGET = $(TARGETPFX)nethack.js
|
||||||
EMCC_LFLAGS = -s SINGLE_FILE=1
|
EMCC_LFLAGS =
|
||||||
|
#EMCC_LFLAGS += -s SINGLE_FILE=1
|
||||||
EMCC_LFLAGS += -s WASM=1
|
EMCC_LFLAGS += -s WASM=1
|
||||||
EMCC_LFLAGS += -s ALLOW_TABLE_GROWTH
|
EMCC_LFLAGS += -s ALLOW_TABLE_GROWTH
|
||||||
EMCC_LFLAGS += -s ASYNCIFY -s ASYNCIFY_IMPORTS='["local_callback"]'
|
EMCC_LFLAGS += -s ASYNCIFY -s ASYNCIFY_IMPORTS='["local_callback"]'
|
||||||
@@ -303,7 +315,7 @@ EMCC_LFLAGS += --embed-file $(WASM_DATA_DIR)
|
|||||||
# WASM C flags
|
# WASM C flags
|
||||||
EMCC_CFLAGS=
|
EMCC_CFLAGS=
|
||||||
EMCC_CFLAGS += -Wall
|
EMCC_CFLAGS += -Wall
|
||||||
EMCC_CFLAGS += -Werror
|
#EMCC_CFLAGS += -Werror
|
||||||
#EMCC_CFLAGS += -s DISABLE_EXCEPTION_CATCHING=0
|
#EMCC_CFLAGS += -s DISABLE_EXCEPTION_CATCHING=0
|
||||||
EMCC_DEBUG_CFLAGS += -s ASSERTIONS=1
|
EMCC_DEBUG_CFLAGS += -s ASSERTIONS=1
|
||||||
#EMCC_DEBUG_CFLAGS += -s ASSERTIONS=2
|
#EMCC_DEBUG_CFLAGS += -s ASSERTIONS=2
|
||||||
@@ -325,7 +337,7 @@ endif
|
|||||||
override TARGET_CC = emcc
|
override TARGET_CC = emcc
|
||||||
override TARGET_CXX = emcc
|
override TARGET_CXX = emcc
|
||||||
override TARGET_AR = emar
|
override TARGET_AR = emar
|
||||||
override TARGET_CFLAGS = $(EMCC_CFLAGS) -c \
|
override TARGET_CFLAGS = $(EMCC_CFLAGS) \
|
||||||
-I../include \
|
-I../include \
|
||||||
$(LUAINCL) -DDLB $(PDCURSESDEF) \
|
$(LUAINCL) -DDLB $(PDCURSESDEF) \
|
||||||
-DNOTTYGRAPHICS -DSHIM_GRAPHICS -DDEFAULT_WINDOW_SYS=\"shim\" \
|
-DNOTTYGRAPHICS -DSHIM_GRAPHICS -DDEFAULT_WINDOW_SYS=\"shim\" \
|
||||||
@@ -343,14 +355,17 @@ override SYSOBJ= $(TARGETPFX)libnethackmain.o \
|
|||||||
$(TARGETPFX)winshim.o
|
$(TARGETPFX)winshim.o
|
||||||
override WINLIB = emranlib
|
override WINLIB = emranlib
|
||||||
override LUALIB=
|
override LUALIB=
|
||||||
override PACKAGE= wasmpkg
|
|
||||||
override REGEXOBJ = $(TARGETPFX)posixregex.o
|
override REGEXOBJ = $(TARGETPFX)posixregex.o
|
||||||
|
override WINOBJ=
|
||||||
|
#override INSTDIR = $(WASM_DATA_DIR)
|
||||||
|
#override PACKAGE= wasmpkg
|
||||||
|
#override MOREALL = ( cd src ; $(MAKE) $(WASM_TARGET) )
|
||||||
|
override GAME=
|
||||||
|
override ALLDEP = wasm
|
||||||
|
override PREGAME += mkdir -p $(TARGETDIR)/wasm-data ;
|
||||||
|
override CLEANMORE += rm -rf $(TARGETDIR) ;
|
||||||
RANLIB=$(EMRANLIB)
|
RANLIB=$(EMRANLIB)
|
||||||
#VARDATND += nhtiles.bmp
|
#VARDATND += nhtiles.bmp
|
||||||
override GAME=
|
|
||||||
MOREALL += ( cd src ; $(MAKE) pregame ; $(MAKE) $(WASM_TARGET) )
|
|
||||||
PREGAME = mkdir -p $(TARGETDIR)
|
|
||||||
CLEANMORE += rm -f -r $(TARGETDIR)
|
|
||||||
# Rule for file in sys/unix
|
# Rule for file in sys/unix
|
||||||
$(TARGETPFX)%.o : ../sys/unix/%.c
|
$(TARGETPFX)%.o : ../sys/unix/%.c
|
||||||
$(TARGET_CC) $(TARGET_CFLAGS) -c -o$@ $<
|
$(TARGET_CC) $(TARGET_CFLAGS) -c -o$@ $<
|
||||||
|
|||||||
Reference in New Issue
Block a user