diff --git a/HxCFloppyEmulator_cmdline/build/Makefile b/HxCFloppyEmulator_cmdline/build/Makefile index 977c92f0..9d0134ee 100644 --- a/HxCFloppyEmulator_cmdline/build/Makefile +++ b/HxCFloppyEmulator_cmdline/build/Makefile @@ -9,6 +9,8 @@ DEBUG ?= 0 DEBUG_ASAN ?= 0 DEBUG_INFOS ?= 0 +PTHREAD ?= 0 + ifeq ($(DEBUG), 1) CFLAGS =-O0 $(INCLUDES) -Wall -DDEBUG LDFLAGS = @@ -76,6 +78,10 @@ endif ifeq ($(TARGET), Emscripten) CFLAGS += LDFLAGS += -static-libgcc + ifeq ($(PTHREAD), 1) + CFLAGS += -pthread + LDFLAGS += -pthread -sPTHREAD_POOL_SIZE=4 -sTOTAL_MEMORY=64MB + endif CC = emcc EXEC = hxcfe.wasm LIBHXCFE = libhxcfe.a diff --git a/HxCFloppyEmulator_software/build/Makefile b/HxCFloppyEmulator_software/build/Makefile index f4c6f43a..ab6123e9 100644 --- a/HxCFloppyEmulator_software/build/Makefile +++ b/HxCFloppyEmulator_software/build/Makefile @@ -13,6 +13,8 @@ DEBUG ?= 0 DEBUG_ASAN ?= 0 DEBUG_INFOS ?= 0 +PTHREAD ?= 0 + EXEC = hxcfloppyemulator ifeq ($(DEBUG), 1) @@ -100,13 +102,17 @@ else endif ifeq ($(TARGET), Emscripten) - CFLAGS += -I/usr/local/include -pthread - LDFLAGS += -lc -lm -ldl + CFLAGS += -I/usr/local/include + LDFLAGS += -lc -lm -ldl + ifeq ($(PTHREAD), 1) + CFLAGS += -pthread + LDFLAGS += -pthread -sPTHREAD_POOL_SIZE=4 -sTOTAL_MEMORY=64MB + endif CC = emcc CPP = em++ BUILD_CC = cc LIBHXCFE = libhxcfe.a - LIBUSBHXCFE = libusbhxcfe.a + LIBUSBHXCFE = libusbhxcfe.a LDFLAGS += -lpthread -s WASM=1 -sALLOW_MEMORY_GROWTH -sASYNCIFY -sOFFSCREENCANVAS_SUPPORT=1 --bind --shell-file $(realpath $(BASEDIR))/gui/wasm/shell.html EXEC = hxcfloppyemulator.html endif @@ -140,7 +146,11 @@ else ifeq ($(TARGET), mingw64) cd ../sources/thirdpartylibs/fltk/fltk-1.x.x/ && export LDFLAGS='-static-libstdc++ -static-libgcc' && ./configure --host=x86_64-w64-mingw32 --prefix=/usr/share/mingw-w64 $(MAKE) -C ../sources/thirdpartylibs/fltk/fltk-1.x.x/ DIRS=src CC=x86_64-w64-mingw32-gcc CPP=x86_64-w64-mingw32-g++ else ifeq ($(TARGET), Emscripten) - cd ../sources/thirdpartylibs/fltk/fltk-1.x.x/ && export LDFLAGS='-s WASM=1 -sALLOW_MEMORY_GROWTH -sASYNCIFY -sOFFSCREENCANVAS_SUPPORT=1 --bind --shell-file $(realpath $(BASEDIR))/gui/wasm/shell.html' && emcmake cmake -DCMAKE_BUILD_TYPE=Release -DFLTK_BUILD_TEST:BOOL=OFF -DFLTK_USE_PTHREADS:BOOL=OFF -DFLTK_BUILD_FLUID:BOOL=OFF -DFLTK_BUILD_FLTK_OPTIONS:BOOL=OFF -DFLTK_BUILD_GL:BOOL=OFF && emmake make DIRS=src +ifeq ($(PTHREAD), 1) + cd ../sources/thirdpartylibs/fltk/fltk-1.x.x/ && export LDFLAGS='-pthread -sPTHREAD_POOL_SIZE=4 -sTOTAL_MEMORY=64MB -s WASM=1 -sALLOW_MEMORY_GROWTH -sASYNCIFY -sOFFSCREENCANVAS_SUPPORT=1 --bind --shell-file $(realpath $(BASEDIR))/gui/wasm/shell.html' && emcmake cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DFLTK_BUILD_TEST:BOOL=OFF -DFLTK_CFLAGS="-pthread" -DCMAKE_CXX_FLAGS="-pthread" -DCMAKE_C_FLAGS="-pthread" -DFLTK_USE_PTHREADS:BOOL=ON -DFLTK_BUILD_FLUID:BOOL=OFF -DFLTK_BUILD_FLTK_OPTIONS:BOOL=OFF -DFLTK_BUILD_GL:BOOL=OFF && emmake make DIRS=src +else + cd ../sources/thirdpartylibs/fltk/fltk-1.x.x/ && export LDFLAGS='-s WASM=1 -sALLOW_MEMORY_GROWTH -sASYNCIFY -sOFFSCREENCANVAS_SUPPORT=1 --bind --shell-file $(realpath $(BASEDIR))/gui/wasm/shell.html' && emcmake cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DFLTK_BUILD_TEST:BOOL=OFF -DFLTK_USE_PTHREADS:BOOL=OFF -DFLTK_BUILD_FLUID:BOOL=OFF -DFLTK_BUILD_FLTK_OPTIONS:BOOL=OFF -DFLTK_BUILD_GL:BOOL=OFF && emmake make DIRS=src +endif else ifeq ($(TARGET), Darwin) ifneq (,$(findstring arm64,$(MACOSX_ARCH))) cd ../sources/thirdpartylibs/fltk && \ @@ -351,7 +361,7 @@ clean: rm -rf *.a rm -rf *.wasm rm -rf *.js - rm -rf *.html + rm -rf *.html rm -rf *.o rm -rf *.so rm -rf *.dll diff --git a/libhxcadaptor/build/Makefile b/libhxcadaptor/build/Makefile index b998e1b9..34a3c499 100644 --- a/libhxcadaptor/build/Makefile +++ b/libhxcadaptor/build/Makefile @@ -11,6 +11,8 @@ DEBUG ?= 0 DEBUG_ASAN ?= 0 DEBUG_INFOS ?= 0 +PTHREAD ?= 0 + ifeq ($(DEBUG), 1) CFLAGS = -O0 $(INCLUDES) -Wall -DDEBUG LDFLAGS = -shared @@ -64,6 +66,10 @@ endif ifeq ($(TARGET), Emscripten) CFLAGS += LDFLAGS += -lc -lm -ldl + ifeq ($(PTHREAD), 1) + CFLAGS += -pthread + LDFLAGS += -pthread -sPTHREAD_POOL_SIZE=4 -sTOTAL_MEMORY=64MB + endif CC = emcc AR = emar endif diff --git a/libhxcfe/build/Makefile b/libhxcfe/build/Makefile index 07bee898..14276972 100644 --- a/libhxcfe/build/Makefile +++ b/libhxcfe/build/Makefile @@ -12,6 +12,8 @@ DEBUG ?= 0 DEBUG_ASAN ?= 0 DEBUG_INFOS ?= 0 +PTHREAD ?= 0 + ifeq ($(DEBUG), 1) CFLAGS = -O0 $(INCLUDES) -Wall -DDEBUG LDFLAGS = -shared @@ -79,6 +81,12 @@ ifeq ($(TARGET), Emscripten) CC = emcc AR = emar EXEC = libhxcfe.a + CFLAGS += + LDFLAGS += + ifeq ($(PTHREAD), 1) + CFLAGS += -pthread + LDFLAGS += -pthread -sPTHREAD_POOL_SIZE=4 -sTOTAL_MEMORY=64MB + endif endif XML_DSKLAYOUT_INPUTS := $(wildcard $(BASEDIR)/xml_disk/DiskLayouts/xml_files/DiskLayout_*.xml) diff --git a/libusbhxcfe/build/Makefile b/libusbhxcfe/build/Makefile index 33f4a1e9..c5df1ab2 100644 --- a/libusbhxcfe/build/Makefile +++ b/libusbhxcfe/build/Makefile @@ -11,6 +11,8 @@ DEBUG ?= 0 DEBUG_ASAN ?= 0 DEBUG_INFOS ?= 0 +PTHREAD ?= 0 + ifeq ($(DEBUG), 1) CFLAGS = -O0 $(INCLUDES) -Wall -DDEBUG LDFLAGS = -shared @@ -71,6 +73,10 @@ endif ifeq ($(TARGET), Emscripten) CFLAGS += LDFLAGS += -lc -lm -ldl + ifeq ($(PTHREAD), 1) + CFLAGS += -pthread + LDFLAGS += -pthread -sPTHREAD_POOL_SIZE=4 -sTOTAL_MEMORY=64MB + endif CC = emcc AR = emar EXEC=libusbhxcfe.a