From 75acae9d0d2a90b6a670f18ee24453b42c473abe Mon Sep 17 00:00:00 2001 From: zefie Date: Mon, 1 Nov 2021 18:09:13 -0400 Subject: [PATCH] improve .dll and add .lib for mingw --- minibae/Makefile.mingw | 9 +++++++-- minibae/build_gh_release.sh | 3 ++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/minibae/Makefile.mingw b/minibae/Makefile.mingw index 188875fc..435a2a37 100644 --- a/minibae/Makefile.mingw +++ b/minibae/Makefile.mingw @@ -12,7 +12,7 @@ CXX := i686-w64-mingw32-g++-win32 LD := $(CC) AR := i686-w64-mingw32-gcc-ar-win32 STRIP := i686-w64-mingw32-strip - +DLLTOOL := i686-w64-mingw32-dlltool OPTI := -O2 CFLAGS := $(ARCH) $(OPTI) $(INC_PATH) -D_THREAD_SAFE -Wno-unused-value @@ -51,7 +51,12 @@ $(TARGET_LIB).a: $(OBJ) $(TARGET_LIB).dll: ${OBJ} @mkdir -p $(TARGET_OUT) - ${CC} -shared $(LDFLAGS) ${OBJ} -Wl,--subsystem,windows ${LIBS} -o $(TARGET_OUT)${TARGET_LIB}.dll + @$(DLLTOOL) --export-all --export-all-symbols -e $(OBJ_DIR)exports.o -z $(OBJ_DIR)$(TARGET_LIB).def2 $(OBJ) + @echo "EXPORTS" > $(OBJ_DIR)$(TARGET_LIB).def + @cat $(OBJ_DIR)$(TARGET_LIB).def2 | grep "BAE" >> $(OBJ_DIR)$(TARGET_LIB).def + @rm -f $(OBJ_DIR)$(TARGET_LIB).def2 $(OBJ_DIR)exports.o + @$(DLLTOOL) -e $(OBJ_DIR)exports.o -d $(OBJ_DIR)$(TARGET_LIB).def -l $(TARGET_OUT)$(TARGET_LIB).lib $(OBJ) + ${CC} -shared $(LDFLAGS) ${OBJ} $(OBJ_DIR)exports.o -Wl,--subsystem,windows ${LIBS} -o $(TARGET_OUT)${TARGET_LIB}.dll $(TARGET_BIN): ${OBJ_BIN} @mkdir -p $(TARGET_OUT) diff --git a/minibae/build_gh_release.sh b/minibae/build_gh_release.sh index 71800dc8..2d724da1 100755 --- a/minibae/build_gh_release.sh +++ b/minibae/build_gh_release.sh @@ -42,7 +42,8 @@ runcmd make -f Makefile.clang clean echo "Building MingW32..." runcmd make -f Makefile.mingw clean all pack install_file "${BDIR}/playbae.exe.gz" "${ODIR}/playbae.exe.gz" -runcmd zip -u "${ODIR}/libMiniBAE_win_DLL.zip" "${BDIR}/"*.dll +runcmd cd "${BDIR}" && runcmd zip -u "${ODIR}/libMiniBAE_win.zip" *.dll *.lib +runcmd cd "${RDIR}" runcmd make -f Makefile.mingw clean echo "Building Enscripten WASM32..."