Проблема генерации библиотеки через makefile

У меня есть 2 мейкфайла для двух похожих проектов. Мейкфайлы собирают библиотеку, но один из них выдают ошибку при работе с mingw на неправильную линковку (undefined reference). А второй отлично работает с mvsc и mingw компилятором. Что нужно поменять в мейкфайле, что бы библиотека потом компилировалась на обеих компиляторах.

Плохой .makefile:

COMMON_PATH=\Libs\tcl\bin;\Windows;\Windows\system32
WINDOWSKITS_10_VER=10.0.10586.0

WINDOWSSDK_DIR=\Libs\Microsoft SDKs\v6.0A
WINDOWSSDK_INCLUDE=$(WINDOWSSDK_DIR)\include
WINDOWSSDK_LIB32=$(WINDOWSSDK_DIR)\lib
WINDOWSSDK_LIB64=$(WINDOWSSDK_DIR)\lib\x64
WINDOWSSDK_PATH=$(WINDOWSSDK_DIR)\bin

WINDOWSKITS_10_DIR=\Libs\Windows Kits\10
WINDOWSKITS_10_INCLUDE=$(WINDOWSKITS_10_DIR)\include\$(WINDOWSKITS_10_VER)\shared;$(WINDOWSKITS_10_DIR)\include\$(WINDOWSKITS_10_VER)\ucrt;$(WINDOWSKITS_10_DIR)\include\$(WINDOWSKITS_10_VER)\um
WINDOWSKITS_10_LIB32=$(WINDOWSKITS_10_DIR)\lib\$(WINDOWSKITS_10_VER)\ucrt\x86;$(WINDOWSKITS_10_DIR)\lib\$(WINDOWSKITS_10_VER)\um\x86
WINDOWSKITS_10_LIB64=$(WINDOWSKITS_10_DIR)\lib\$(WINDOWSKITS_10_VER)\ucrt\x64;$(WINDOWSKITS_10_DIR)\lib\$(WINDOWSKITS_10_VER)\um\x64

VSINSTALLDIR=\Libs\VS14
VCINSTALLDIR=$(VSINSTALLDIR)\VC
DEVENVDIR=$(VCINSTALLDIR)\Common7\IDE

INCLUDE=$(WINDOWSKITS_10_INCLUDE);$(WINDOWSSDK_INCLUDE);$(VCINSTALLDIR)\atlmfc\include;$(VCINSTALLDIR)\include
LIB32=$(WINDOWSKITS_10_LIB32);$(WINDOWSSDK_LIB32);$(VCINSTALLDIR)\lib
LIB64=$(WINDOWSKITS_10_LIB64);$(WINDOWSSDK_LIB64);$(VCINSTALLDIR)\atlmfc\lib\amd64;$(VCINSTALLDIR)\lib\amd64

VC_PATH32=$(DEVENVDIR);$(VCINSTALLDIR)\bin;$(VSINSTALLDIR)\Common7\Tools;$(VSINSTALLDIR)\Common7\Tools\bin;$(VSINSTALLDIR)\Common7\IDE;$(VCINSTALLDIR)\VCPackages
VC_PATH64=$(DEVENVDIR);$(VCINSTALLDIR)\bin\x86_amd64;$(VCINSTALLDIR)\bin;$(VSINSTALLDIR)\Common7\Tools;$(VSINSTALLDIR)\Common7\Tools\bin;$(VSINSTALLDIR)\Common7\IDE;$(VCINSTALLDIR)\VCPackages
PATH32=$(WINDOWSSDK_PATH);$(VC_PATH32);$(COMMON_PATH)
PATH64=$(WINDOWSSDK_PATH);$(VC_PATH64);$(COMMON_PATH)

CPPOPTS32=/MP /MT /W3 /O1 /GR- /GS- /QIfist /wd4996 /D "WIN32" /D "_MBCS" /D "MBCS" /D "NDEBUG" /D "_WINDLL"
CPPOPTS64=/MP /MT /W3 /O1 /GR- /GS- /wd4996 /D "WIN32" /D "_MBCS" /D "MBCS" /D "NDEBUG" /D "_WINDLL"
CPPOPTS64=/MP /$(MT) /W3 /O1 /GR- /GS- /wd4996 /D "WIN32" /D "_MBCS" /D "MBCS" /D "NDEBUG" /D "_WINDLL" $(PROD_DEFS) $(PLAT_DEFS)
LIBS_CORE=kernel32.lib user32.lib gdi32.lib uuid.lib
LIBS32=$(LIBS_CORE) ..\..\..\cnx\lib\ctiny\Release32\ctiny.lib
LIBS64=$(LIBS_CORE)

SEC_LINKOPTS_32=/DYNAMICBASE /NXCOMPAT /SAFESEH
SEC_LINKOPTS_64=/DYNAMICBASE /NXCOMPAT

all: 
  make  build copy cleanlib
  @echo Done!

clean: cleanlib
  -rmdir /q /s ..\kits\qt
  @echo Done!

build:
  make sbb_modules 
  make sbb_lib

cpplib: 
  cd ..\cpp
  make _qt 
  cd ..\qt

sbb_modules:
  cd ..\edlp
  make plat PLAT=qt PLAT_DEF=QT PLAT_LIB=qt
  cd ..\qt

sbb_lib: lib32\secureblackbox.obj lib64\secureblackbox.obj
  set LIB=$(LIB32)
  set PATH=$(PATH32)
  link /nologo $(LIBS32) /nodefaultlib $(SEC_LINKOPTS_32) /dll /incremental:no /machine:x86 /def:secureblackbox.def /out:"lib32/qtsecureblackbox20.dll" /implib:"lib32/qtsecureblackbox20.lib" lib32/secureblackbox.obj
  set LIB=$(LIB64)
  set PATH=$(PATH64)
  link /nologo $(LIBS64) $(SEC_LINKOPTS_64) /dll /incremental:no /machine:x64 /def:secureblackbox.def /out:"lib64/qtsecureblackbox20.dll" /implib:"lib64/qtsecureblackbox20.lib" lib64/secureblackbox.obj

.cpp{lib32}.obj::
  -mkdir lib32
  set INCLUDE=$(INCLUDE)
  set PATH=$(PATH32)
  cl /nologo $(CPPOPTS32) /Fo"lib32/" /Tp $< /c

.cpp{lib64}.obj::
  -mkdir lib64
  set INCLUDE=$(INCLUDE)
  set PATH=$(PATH64)
  cl /nologo $(CPPOPTS64) /Fo"lib64/" /Tp $< /c

# Windows
  -mkdir ..\kits\qt\lib
  -mkdir ..\kits\qt\lib64
  copy ..\edlp\plat\win32\SecureBlackboxLib.dll        ..\kits\qt\lib\qtsecureblackbox20.dll
  copy lib32\qtsecureblackbox20.lib               ..\kits\qt\lib\qtsecureblackbox20.lib
  copy ..\edlp\plat\win64\SecureBlackboxLib.dll        ..\kits\qt\lib64\qtsecureblackbox20.dll
  copy lib64\qtsecureblackbox20.lib               ..\kits\qt\lib64\qtsecureblackbox20.lib
# Linux
  -rmdir /q /s ..\kits\qt\unix\lib
  -mkdir ..\kits\qt\unix\lib\x86
  -mkdir ..\kits\qt\unix\lib\x64
  copy ..\edlp\plat\linux64\libSecureBlackboxLib.so     ..\kits\qt\unix\lib\x64\libqtsecureblackbox.so.20.0 
# Mac
  -rmdir /q /s ..\kits\qt\mac\lib
  -mkdir ..\kits\qt\mac\lib
  copy ..\edlp\plat\macos64\libqtsecureblackbox.20.0.dylib  ..\kits\qt\mac\lib\libqtsecureblackbox.20.0.dylib


cleanlib:
  cd ..\edlp
  make _plat_clean
  cd ..\qt
  -rmdir /s /q lib32
  -rmdir /s /q lib64

Правильный .makefile:

# Convenience Variables
COMMON_PATH=\Libs\tcl\bin;\Windows;\Windows\system32
VS15_VER=14.16.27023
WINDOWSKITS_10_VER=10.0.10586.0

ZLIB_PATH=..\..\..\cnx\lib\zlib

# Windows SDK 6.0A Variables
WINDOWSSDK_DIR=\Libs\Microsoft SDKs\v6.0A
WINDOWSSDK_INCLUDE=$(WINDOWSSDK_DIR)\include
WINDOWSSDK_LIB=$(WINDOWSSDK_DIR)\lib\x64
WINDOWSSDK_PATH=$(WINDOWSSDK_DIR)\bin

# Windows Kits 8.0 Variables
WINDOWSKITS_80_DIR=\Libs\Windows Kits\8.0
WINDOWSKITS_80_INCLUDE=$(WINDOWSKITS_80_DIR)\include\shared;$(WINDOWSKITS_80_DIR)\include\um

# Windows Kits 8.1 Variables
WINDOWSKITS_81_DIR=\Libs\Windows Kits\8.1
WINDOWSKITS_81_INCLUDE=$(WINDOWSKITS_81_DIR)\include\shared;$(WINDOWSKITS_81_DIR)\include\um

# Windows 10 Kits Variables
WINDOWSKITS_10_DIR=\Libs\Windows Kits\10
WINDOWSKITS_10_INCLUDE=$(WINDOWSKITS_10_DIR)\include\$(WINDOWSKITS_10_VER)\shared;$(WINDOWSKITS_10_DIR)\include\$(WINDOWSKITS_10_VER)\ucrt;$(WINDOWSKITS_10_DIR)\include\$(WINDOWSKITS_10_VER)\um
WINDOWSKITS_10_LIB=$(WINDOWSKITS_10_DIR)\lib\$(WINDOWSKITS_10_VER)\ucrt\x64;$(WINDOWSKITS_10_DIR)\lib\$(WINDOWSKITS_10_VER)\um\x64
WINDOWSKITS_10_LIB_ARM=$(WINDOWSKITS_10_DIR)\lib\$(WINDOWSKITS_10_VER)\ucrt\arm64;$(WINDOWSKITS_10_DIR)\lib\$(WINDOWSKITS_10_VER)\um\arm64

# VC9 Variables
VC9_VSINSTALLDIR=\Libs\VS9
VC9_VCINSTALLDIR=$(VC9_VSINSTALLDIR)\VC
VC9_DEVENVDIR=$(VC9_VCINSTALLDIR)\Common7\IDE
VC9_INCLUDE=$(VC9_VCINSTALLDIR)\atlmfc\include;$(VC9_VCINSTALLDIR)\include
VC9_LIB=$(VC9_VCINSTALLDIR)atlmfc\lib\amd64;$(VC9_VCINSTALLDIR)\lib\amd64
VC9_PATH=$(VC9_DEVENVDIR);$(VC9_VCINSTALLDIR)\bin\amd64;$(VC9_VCINSTALLDIR)\bin;$(VC9_VSINSTALLDIR)\Common7\Tools;$(VC9_VSINSTALLDIR)\Common7\Tools\bin;$(VC9_VSINSTALLDIR)\Common7\IDE;$(VC9_VCINSTALLDIR)\VCPackages

# VC11 Variables
VC11_VSINSTALLDIR=\Libs\VS11
VC11_VCINSTALLDIR=$(VC11_VSINSTALLDIR)\VC
VC11_DEVENVDIR=$(VC11_VCINSTALLDIR)\Common7\IDE
VC11_INCLUDE=$(VC11_VCINSTALLDIR)\atlmfc\include;$(VC11_VCINSTALLDIR)\include
VC11_LIB=$(VC11_VCINSTALLDIR)\atlmfc\lib\amd64;$(VC11_VCINSTALLDIR)\lib\amd64
VC11_PATH=$(VC11_DEVENVDIR);$(VC11_VCINSTALLDIR)\bin\amd64;$(VC11_VCINSTALLDIR)\bin\amd64;$(VC11_VSINSTALLDIR)\Common7\Tools;$(VC11_VSINSTALLDIR)\Common7\Tools\bin;$(VC11_VSINSTALLDIR)\Common7\IDE;$(VC11_VCINSTALLDIR)\VCPackages;$(VC11_VCINSTALLDIR)\redist\x64\Microsoft.VC110.CRT

# VC12 Variables
VC12_VSINSTALLDIR=\Libs\VS12
VC12_VCINSTALLDIR=$(VC12_VSINSTALLDIR)\VC
VC12_DEVENVDIR=$(VC12_VCINSTALLDIR)\Common7\IDE
VC12_INCLUDE=$(VC12_VCINSTALLDIR)\atlmfc\include;$(VC12_VCINSTALLDIR)\include
VC12_LIB=$(VC12_VCINSTALLDIR)\atlmfc\lib\amd64;$(VC12_VCINSTALLDIR)\lib\amd64
VC12_PATH=$(VC12_DEVENVDIR);$(VC12_VCINSTALLDIR)\bin\amd64;$(VC12_VSINSTALLDIR)\Common7\Tools;$(VC12_VSINSTALLDIR)\Common7\Tools\bin;$(VC12_VSINSTALLDIR)\Common7\IDE;$(VC12_VCINSTALLDIR)\VCPackages

# VC14 Variables
VC14_VSINSTALLDIR=\Libs\VS14
VC14_VCINSTALLDIR=$(VC14_VSINSTALLDIR)\VC
VC14_DEVENVDIR=$(VC14_VCINSTALLDIR)\Common7\IDE
VC14_INCLUDE=$(VC14_VCINSTALLDIR)\atlmfc\include;$(VC14_VCINSTALLDIR)\include
VC14_LIB=$(VC14_VCINSTALLDIR)\atlmfc\lib\amd64;$(VC14_VCINSTALLDIR)\lib\amd64
VC14_PATH=$(VC14_DEVENVDIR);$(VC14_VCINSTALLDIR)\bin\amd64;$(VC14_VSINSTALLDIR)\Common7\Tools;$(VC14_VSINSTALLDIR)\Common7\Tools\bin;$(VC14_VSINSTALLDIR)\Common7\IDE;$(VC14_VCINSTALLDIR)\VCPackages

# VC15 Variables
VC15_VSINSTALLDIR=\Libs\VS15
VC15_VCINSTALLDIR=$(VC15_VSINSTALLDIR)\$(VS15_VER)
VC15_INCLUDE=$(VC15_VCINSTALLDIR)\atlmfc\include;$(VC15_VCINSTALLDIR)\include
VC15_LIB=$(VC15_VCINSTALLDIR)\atlmfc\lib\x64;$(VC15_VCINSTALLDIR)\lib\x64
VC15_LIB_ARM=$(VC15_VCINSTALLDIR)\lib\arm64
VC15_PATH=$(VC15_VCINSTALLDIR)\bin\Hostx64\x64;$(VC15_VSINSTALLDIR)\Common7\Tools;$(VC15_VSINSTALLDIR)\Common7\Tools\bin;$(VC15_VSINSTALLDIR)\Common7\IDE;$(VC15_VCINSTALLDIR)\VCPackages
VC15_PATH_ARM=$(VC15_VCINSTALLDIR)\bin\Hostx64\arm64;$(VC15_PATH)

#
# Begin INCLUDE/LIB/PATH Variables
#
INCLUDE_VC9=$(WINDOWSSDK_INCLUDE);$(VC9_INCLUDE)
LIB_VC9=$(WINDOWSSDK_LIB);$(VC9_LIB)
PATH_VC9=$(WINDOWSSDK_PATH);$(VC9_PATH);$(COMMON_PATH)

INCLUDE_VC11=$(WINDOWSKITS_80_INCLUDE);$(WINDOWSSDK_INCLUDE);$(VC11_INCLUDE)
LIB_VC11=$(WINDOWSSDK_LIB);$(VC11_LIB)
PATH_VC11=$(WINDOWSSDK_PATH);$(VC11_PATH);$(COMMON_PATH)

INCLUDE_VC12=$(WINDOWSKITS_81_INCLUDE);$(WINDOWSSDK_INCLUDE);$(VC12_INCLUDE)
LIB_VC12=$(WINDOWSSDK_LIB);$(VC12_LIB)
PATH_VC12=$(WINDOWSSDK_PATH);$(VC12_PATH);$(COMMON_PATH)

INCLUDE_VC14=$(WINDOWSKITS_10_INCLUDE);$(WINDOWSSDK_INCLUDE);$(VC14_INCLUDE)
#LIB_VC14=$(VC14_LIB);$(WINDOWSSDK_LIB);$(WINDOWSKITS_10_LIB)
LIB_VC14=$(WINDOWSKITS_10_LIB);$(VC14_LIB)
PATH_VC14=$(WINDOWSSDK_PATH);$(VC14_PATH);$(COMMON_PATH)

INCLUDE_VC15=$(WINDOWSKITS_10_INCLUDE);$(WINDOWSSDK_INCLUDE);$(VC15_INCLUDE)
LIB_VC15=$(WINDOWSKITS_10_LIB);$(VC15_LIB)
LIB_VC15_ARM=$(WINDOWSKITS_10_LIB_ARM);$(VC15_LIB_ARM)
PATH_VC15=$(WINDOWSSDK_PATH);$(VC15_PATH);$(COMMON_PATH)
PATH_VC15_ARM=$(WINDOWSSDK_PATH);$(VC15_PATH_ARM);$(COMMON_PATH)

# Default INCLUDE/LIB/PATH Variables
INCLUDE=$(INCLUDE_VC9)
LIB=$(LIB_VC9)
PATH=$(PATH_VC9)
#
# End INCLUDE/LIB/PATH Variables
#

LIBS_CORE=kernel32.lib user32.lib gdi32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ws2_32.lib Shlwapi.lib $(ZLIB_PATH)\Release64$(D)\zlib.lib
LIBS=$(LIBS_CORE)
LIBS_ARM=kernel32.lib user32.lib gdi32.lib advapi32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ws2_32.lib Shell32.lib Shlwapi.lib $(ZLIB_PATH)\Release64$(D)\vc15_arm\zlib.lib

PROD_DEFS=/D SEVENZIP 
PLAT_DEFS=
MT=MT
MD=MD

!IF "$(D)" == "d"
MT=MTd
MD=MDd
!ENDIF


CPPOPTS=/MP /$(MT) /W3 /O1 /GR- /GS- /wd4996 /D "WIN32" /D "_MBCS" /D "MBCS" /D "NDEBUG" /D "_WINDLL" $(PROD_DEFS) $(PLAT_DEFS)
CPPOPTS_WINRT_EXT=/AI\"\Libs\Windows Kits\10\UnionMetadata\" /AI\"$(VC14_VSINSTALLDIR)\VC\lib\store\references\" /$(MD) /ZW /Gm- /W3 /O1 /GR- /GS- /wd4996 /D "WIN32" /D "_MBCS" /D "MBCS" /D "NDEBUG" /D "_WINDLL" $(PROD_DEFS) $(PLAT_DEFS)
CPPOPTS_ARM=/MP /$(MT) /W3 /O1 /GR- /GS- /wd4996 /D "WIN32" /D "_MBCS" /D "MBCS" /D "NDEBUG" /D "_WINDLL" /D _VC80_UPGRADE=0x0600 /D _ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1 /D BUILD_ARM_LIB $(PROD_DEFS) $(PLAT_DEFS)

# uncomment these to enable pdb files
#PDBLIBOPT=/Fd"Lib64$(D)/c_ipworkszip.pdb" /Zi
PDBDLLOPT=/Fd"Release64$(D)/$(PLAT)ipworkszip20.pdb" /Zi
PDBLNKOPT=/DEBUG /pdb:"Release64$(D)/$(PLAT)ipworkszip20.full.pdb" /pdbstripped:"Release64$(D)/$(PLAT)ipworkszip20.public.pdb" 
#PDBLIBOPT_VC11=/Fd"Lib64$(D)/vc11/c_ipworkszip.pdb" /Zi

ARMPDBDLLOPT=/Fd"Release64$(D)/vc15_arm/$(PLAT)ipworkszip20.pdb" /Zi
ARMPDBLNKOPT=/DEBUG /pdb:"Release64$(D)/vc15_arm/$(PLAT)ipworkszip20.full.pdb" /pdbstripped:"Release64$(D)/vc15_arm/$(PLAT)ipworkszip20.public.pdb" 

NODEPDBDLLOPT=/Fd"Node64$(D)/$(NODE_VER)/ipworkszip20.pdb" /Zi /wd4302 /wd4311 /wd4312
NODEPDBLNKOPT=/DEBUG /pdb:"Node64$(D)/$(NODE_VER)/ipworkszip20.full.pdb" /pdbstripped:"Node64$(D)/$(NODE_VER)/ipworkszip20.public.pdb" 

JNIPDBDLLOPT=/Fd"JNI64$(D)/jniipworkszip20.pdb" /Zi
JNIPDBLNKOPT=/DEBUG /pdb:"JNI64$(D)/jniipworkszip20.full.pdb" /pdbstripped:"JNI64$(D)/jniipworkszip20.public.pdb" 

SEC_LINKOPTS_64=/DYNAMICBASE /NXCOMPAT

LIB_OBJ_FILES=Lib64$(D)\c_ipworkszip.obj Lib64$(D)\c_bzip2.obj Lib64$(D)\c_gzip.obj Lib64$(D)\c_jar.obj Lib64$(D)\c_officedoc.obj Lib64$(D)\c_sevenzip.obj Lib64$(D)\c_tar.obj Lib64$(D)\c_zcompress.obj Lib64$(D)\c_zip.obj Lib64$(D)\c_zipsfx.obj Lib64$(D)\c_zipstream.obj 
LIB_OBJ_FILES_VC11=Lib64$(D)\vc11\c_ipworkszip.obj Lib64$(D)\vc11\c_bzip2.obj Lib64$(D)\vc11\c_gzip.obj Lib64$(D)\vc11\c_jar.obj Lib64$(D)\vc11\c_officedoc.obj Lib64$(D)\vc11\c_sevenzip.obj Lib64$(D)\vc11\c_tar.obj Lib64$(D)\vc11\c_zcompress.obj Lib64$(D)\vc11\c_zip.obj Lib64$(D)\vc11\c_zipsfx.obj Lib64$(D)\vc11\c_zipstream.obj 
LIB_OBJ_FILES_VC14=Lib64$(D)\vc14\c_ipworkszip.obj Lib64$(D)\vc14\c_bzip2.obj Lib64$(D)\vc14\c_gzip.obj Lib64$(D)\vc14\c_jar.obj Lib64$(D)\vc14\c_officedoc.obj Lib64$(D)\vc14\c_sevenzip.obj Lib64$(D)\vc14\c_tar.obj Lib64$(D)\vc14\c_zcompress.obj Lib64$(D)\vc14\c_zip.obj Lib64$(D)\vc14\c_zipsfx.obj Lib64$(D)\vc14\c_zipstream.obj 
LIB_OBJ_FILES_VC15=Lib64$(D)\vc15\c_ipworkszip.obj Lib64$(D)\vc15\c_bzip2.obj Lib64$(D)\vc15\c_gzip.obj Lib64$(D)\vc15\c_jar.obj Lib64$(D)\vc15\c_officedoc.obj Lib64$(D)\vc15\c_sevenzip.obj Lib64$(D)\vc15\c_tar.obj Lib64$(D)\vc15\c_zcompress.obj Lib64$(D)\vc15\c_zip.obj Lib64$(D)\vc15\c_zipsfx.obj Lib64$(D)\vc15\c_zipstream.obj 
LIB_OBJ_FILES_VC15_ARM=Lib64$(D)\vc15_arm\c_ipworkszip.obj Lib64$(D)\vc15_arm\c_bzip2.obj Lib64$(D)\vc15_arm\c_gzip.obj Lib64$(D)\vc15_arm\c_jar.obj Lib64$(D)\vc15_arm\c_officedoc.obj Lib64$(D)\vc15_arm\c_sevenzip.obj Lib64$(D)\vc15_arm\c_tar.obj Lib64$(D)\vc15_arm\c_zcompress.obj Lib64$(D)\vc15_arm\c_zip.obj Lib64$(D)\vc15_arm\c_zipsfx.obj Lib64$(D)\vc15_arm\c_zipstream.obj 

DLL_OBJ_FILES=Release64$(D)\ipworkszip.obj Release64$(D)\bzip2.obj Release64$(D)\gzip.obj Release64$(D)\jar.obj Release64$(D)\officedoc.obj Release64$(D)\sevenzip.obj Release64$(D)\tar.obj Release64$(D)\zcompress.obj Release64$(D)\zip.obj Release64$(D)\zipsfx.obj Release64$(D)\zipstream.obj 
DLL_OBJ_FILES_ARM=Release64$(D)\vc15_arm\ipworkszip.obj Release64$(D)\vc15_arm\\bzip2.obj Release64$(D)\vc15_arm\\gzip.obj Release64$(D)\vc15_arm\\jar.obj Release64$(D)\vc15_arm\\officedoc.obj Release64$(D)\vc15_arm\\sevenzip.obj Release64$(D)\vc15_arm\\tar.obj Release64$(D)\vc15_arm\\zcompress.obj Release64$(D)\vc15_arm\\zip.obj Release64$(D)\vc15_arm\\zipsfx.obj Release64$(D)\vc15_arm\\zipstream.obj 

STATICLIB_OBJ_FILES=StaticLib64$(D)\c_ipworkszip.obj Lib64$(D)\evtstr.obj Lib64$(D)\stream.obj
STATICLIB_OBJ_FILES_VC11=StaticLib64$(D)\vc11\c_ipworkszip.obj Lib64$(D)\vc11\evtstr.obj Lib64$(D)\vc11\stream.obj
STATICLIB_OBJ_FILES_VC14=StaticLib64$(D)\vc14\c_ipworkszip.obj Lib64$(D)\vc14\evtstr.obj Lib64$(D)\vc14\stream.obj
STATICLIB_OBJ_FILES_VC15=StaticLib64$(D)\vc15\c_ipworkszip.obj Lib64$(D)\vc15\evtstr.obj Lib64$(D)\vc15\stream.obj
STATICLIB_OBJ_FILES_VC15_ARM=StaticLib64$(D)\vc15_arm\c_ipworkszip.obj Lib64$(D)\vc15_arm\evtstr.obj Lib64$(D)\vc15_arm\stream.obj

all: j2cp _dll _static _static_vc11 _static_vc14 _static_vc15
  echo done!

_lib_with_winrt_ext:   # Consume Windows Runtime Extension
  make -f makefile64 _lib_vc14 CPPOPTS="$(CPPOPTS_WINRT_EXT)"

_dll_with_winrt_ext: j2cp
  copy Lib64$(D)\vc14\c_ipworkszip.obj Lib64$(D)\c_ipworkszip.obj
  make -f makefile64 _dll INCLUDE="$(INCLUDE_VC14);\Libs\Windows Kits\10\Include\$(WINDOWS_KITS_VERSION)\winrt" LIB="$(LIB_VC14);$(WINDOWSKITS_10_LIB)" PATH="$(PATH_VC14)" CPPOPTS="$(CPPOPTS_WINRT_EXT)"
  make -f makefile64 _static INCLUDE="$(INCLUDE_VC14);\Libs\Windows Kits\10\Include\$(WINDOWS_KITS_VERSION)\winrt" LIB="$(LIB_VC14);$(WINDOWSKITS_10_LIB)" PATH="$(PATH_VC14)" CPPOPTS="$(CPPOPTS_WINRT_EXT)"
  echo done!

_lib_arm: _static_vc15_arm

_dll_arm: j2cp $(DLL_OBJ_FILES_ARM) Lib64$(D)/vc15_arm/c_ipworkszip.obj
  set INCLUDE=$(INCLUDE_VC15)
  set PATH=$(PATH_VC15_ARM)
  -mkdir Release64$(D)\vc15_arm
  rc /l 0x409 /fo"Release64$(D)/vc15_arm/ipworkszip.res" /d "NDEBUG" ipworkszip.rc
  set LIB=$(LIB_VC15_ARM)
  link /nologo $(LIBS_ARM) /DYNAMICBASE /NXCOMPAT /dll /incremental:no /machine:ARM64 /out:"Release64$(D)/vc15_arm/ipworkszip20$(D).dll" /implib:"Release64$(D)/vc15_arm/ipworkszip20$(D).lib" Release64$(D)/vc15_arm/ipworkszip.res Lib64$(D)/vc15_arm/c_ipworkszip.obj $(DLL_OBJ_FILES_ARM) 
  -mkdir ..\kits\cpp\libarm64
  copy Release64$(D)\vc15_arm\ipworkszip20$(D).lib ..\kits\cpp\libarm64\ipworkszip20$(D).lib
  copy Release64$(D)\vc15_arm\ipworkszip20$(D).dll ..\kits\cpp\libarm64\ipworkszip20$(D).dll
  -mkdir ..\kits\cpp\pdb\arm64
  copy Release64$(D)\ipworkszip20.full.pdb ..\kits\cpp\pdb\arm64
  copy Release64$(D)\ipworkszip20.public.pdb ..\kits\cpp\pdb\arm64

clean:
  -rmdir /q /s Lib64$(D)
  -rmdir /q /s Release64$(D)
  -rmdir /q /s Singles64$(D)
  -rmdir /q /s StaticLib64$(D)

j2cp:
  cd ..\..\..\IPWorksZip
  tcl j2cp.tcl
  cd ..\Release\IPWorksZip\cpp

_lib: $(LIB_OBJ_FILES)

_lib_vc11: $(LIB_OBJ_FILES_VC11)

_lib_vc14: $(LIB_OBJ_FILES_VC14)

_lib_vc15: $(LIB_OBJ_FILES_VC15)

_lib_vc15_arm: $(LIB_OBJ_FILES_VC15_ARM)

_plat_dll: j2cp $(DLL_OBJ_FILES)
  set INCLUDE=$(INCLUDE)
  -mkdir Release64$(D)
  rc /l 0x409 /fo"Release64$(D)/ipworkszip.res" /d "NDEBUG" ipworkszip.rc
  set LIB=$(LIB)
  link /nologo $(LIBS) $(PDBLNKOPT) $(SEC_LINKOPTS_64) /dll /incremental:no /machine:x64 /out:"Release64$(D)/$(PLAT)ipworkszip20.dll" /implib:"Release64$(D)/$(PLAT)ipworkszip20.lib" Release64$(D)/ipworkszip.res Lib64$(D)/c_ipworkszip.obj $(DLL_OBJ_FILES) 
  -mkdir ..\kits\$(PLAT)\pdb\x64
  copy Release64$(D)\$(PLAT)ipworkszip20.full.pdb ..\kits\$(PLAT)\pdb\x64
  copy Release64$(D)\$(PLAT)ipworkszip20.public.pdb ..\kits\$(PLAT)\pdb\x64

_plat_dll_arm: j2cp $(DLL_OBJ_FILES_ARM) Lib64$(D)/vc15_arm/c_ipworkszip.obj
  set INCLUDE=$(INCLUDE_VC15)
  set PATH=$(PATH_VC15_ARM)
  -mkdir Release64$(D)\vc15_arm
  rc /l 0x409 /fo"Release64$(D)/vc15_arm/ipworkszip.res" /d "NDEBUG" ipworkszip.rc
  set LIB=$(LIB_VC15_ARM)
  link /nologo $(LIBS_ARM) $(ARMPDBLNKOPT) /DYNAMICBASE /NXCOMPAT /dll /incremental:no /machine:ARM64 /out:"Release64$(D)/vc15_arm/$(PLAT)ipworkszip20.dll" /implib:"Release64$(D)/vc15_arm/$(PLAT)ipworkszip20.lib" Release64$(D)/vc15_arm/ipworkszip.res Lib64$(D)/vc15_arm/c_ipworkszip.obj $(DLL_OBJ_FILES_ARM) 
  -mkdir ..\kits\$(PLAT)\pdb\arm64
  copy Release64$(D)\vc15_arm\$(PLAT)ipworkszip20.full.pdb ..\kits\$(PLAT)\pdb\arm64
  copy Release64$(D)\vc15_arm\$(PLAT)ipworkszip20.public.pdb ..\kits\$(PLAT)\pdb\arm64

_dll: j2cp $(DLL_OBJ_FILES)
  set INCLUDE=$(INCLUDE)
  -mkdir Release64$(D)
  rc /l 0x409 /fo"Release64$(D)/ipworkszip.res" /d "NDEBUG" ipworkszip.rc
  set LIB=$(LIB)
  link /nologo $(LIBS) $(PDBLNKOPT) $(SEC_LINKOPTS_64) /dll /incremental:no /machine:x64 /out:"Release64$(D)/ipworkszip20$(D).dll" /implib:"Release64$(D)/ipworkszip20$(D).lib" Release64$(D)/ipworkszip.res Lib64$(D)/c_ipworkszip.obj $(DLL_OBJ_FILES) 
  -mkdir ..\kits\cpp\lib64
  copy Release64$(D)\ipworkszip20$(D).lib ..\kits\cpp\lib64\ipworkszip20$(D).lib
  copy Release64$(D)\ipworkszip20$(D).dll ..\kits\cpp\lib64\ipworkszip20$(D).dll
  -mkdir ..\kits\cpp\pdb\x64
  copy Release64$(D)\ipworkszip20.full.pdb ..\kits\cpp\pdb\x64
  copy Release64$(D)\ipworkszip20.public.pdb ..\kits\cpp\pdb\x64

_node_impl:
  \cygwin\bin\bash -l -c "cd c:/Libs/node/ && . ./getsource.sh $(NODE_VER)"
  set INCLUDE=$(INCLUDE);\Libs\node\src\node-v$(NODE_VER)\src;\Libs\node\src\node-v$(NODE_VER)\deps\v8\include;\Libs\node\src\node-v$(NODE_VER)\deps\uv\include
  -mkdir ..\kits\nodejs\bin\win32-x64-$(LTS)
  -mkdir Node64$(D)\$(NODE_VER)
  copy /Y ..\nodejs\ipworkszip.cc ipworkszip_node.cc
  rc /l 0x409 /fo"Node64$(D)/$(NODE_VER)/ipworkszip.res" /d "NDEBUG" ipworkszip.rc
  cl /nologo $(CPPOPTS) /D "NODEJS" /Fo"Node64$(D)/$(NODE_VER)/" $(NODEPDBDLLOPT) /Tp ipworkszip_node.cc ipworkszip.cpp c_ipworkszip.cpp bzip2.cpp gzip.cpp jar.cpp officedoc.cpp sevenzip.cpp tar.cpp zcompress.cpp zip.cpp zipsfx.cpp zipstream.cpp /c
  set LIB=$(LIB);\Libs\node\lib\$(NODE_VER)\lib64
  link /nologo $(LIBS_CORE) $(NODEPDBLNKOPT) "node.lib" /dll /incremental:no /machine:x64 /out:"Node64$(D)/$(NODE_VER)/ipworkszip20$(D).node" /implib:"Node64$(D)/$(NODE_VER)/ipworkszip20$(D).lib" Node64$(D)/$(NODE_VER)/ipworkszip.res Node64$(D)/$(NODE_VER)/ipworkszip_node.obj Node64$(D)/$(NODE_VER)/ipworkszip.obj Node64$(D)/$(NODE_VER)/c_ipworkszip.obj  Node64$(D)/$(NODE_VER)/bzip2.obj Node64$(D)/$(NODE_VER)/gzip.obj Node64$(D)/$(NODE_VER)/jar.obj Node64$(D)/$(NODE_VER)/officedoc.obj Node64$(D)/$(NODE_VER)/sevenzip.obj Node64$(D)/$(NODE_VER)/tar.obj Node64$(D)/$(NODE_VER)/zcompress.obj Node64$(D)/$(NODE_VER)/zip.obj Node64$(D)/$(NODE_VER)/zipsfx.obj Node64$(D)/$(NODE_VER)/zipstream.obj
  copy Node64$(D)\$(NODE_VER)\ipworkszip20$(D).node ..\kits\nodejs\bin\win32-x64-$(LTS)\ipworkszip$(D).node

_node:j2cp
  make -f makefile64 _node_impl NODE_VER=8.10.0 LTS=8  INCLUDE="$(INCLUDE_VC14)"  LIB="$(LIB_VC14)"  PATH="$(PATH_VC14)"
  make -f makefile64 _node_impl NODE_VER=10.15.3 LTS=10 INCLUDE="$(INCLUDE_VC14)"  LIB="$(LIB_VC14)"  PATH="$(PATH_VC14)"
  make -f makefile64 _node_impl NODE_VER=12.16.0 LTS=12 INCLUDE="$(INCLUDE_VC14)"  LIB="$(LIB_VC14)"  PATH="$(PATH_VC14)"

_nodenapi: j2cp
  make -f makefile64 _node_impl NODE_VER=8.11.2 LTS=8  INCLUDE="$(INCLUDE_VC14)"  LIB="$(LIB_VC14)"  PATH="$(PATH_VC14)"


_jni: j2cp
  set LIB=$(LIB_VC15)
  set PATH=$(PATH_VC15)
  set INCLUDE=$(INCLUDE_VC15);\Libs\j2sdk1.5\include;\Libs\j2sdk1.5\include\win32
  -mkdir ..\kits\java\lib\x64
  -mkdir JNI64
  rc /l 0x409 /fo"JNI64/jipworkszip.res" /d "NDEBUG" jni/jipworkszip.rc
  cl /nologo $(CPPOPTS) /D "JNI" /Fo"JNI64/" $(JNIPDBDLLOPT) /Tp jni/jipworkszip.cpp jni/jbzip2.cpp jni/jgzip.cpp jni/jjar.cpp jni/jofficedoc.cpp jni/jsevenzip.cpp jni/jtar.cpp jni/jzcompress.cpp jni/jzip.cpp jni/jzipsfx.cpp jni/jzipstream.cpp ipworkszip.cpp c_ipworkszip.cpp bzip2.cpp gzip.cpp jar.cpp officedoc.cpp sevenzip.cpp tar.cpp zcompress.cpp zip.cpp zipsfx.cpp zipstream.cpp /c
  link /nologo $(LIBS) $(JNIPDBLNKOPT) /dll /incremental:no /machine:x64 /out:"JNI64/jniipworkszip20.dll" /implib:"JNI64/jniipworkszip20.lib" JNI64/jipworkszip.res JNI64/jipworkszip.obj JNI64/jbzip2.obj JNI64/jgzip.obj JNI64/jjar.obj JNI64/jofficedoc.obj JNI64/jsevenzip.obj JNI64/jtar.obj JNI64/jzcompress.obj JNI64/jzip.obj JNI64/jzipsfx.obj JNI64/jzipstream.obj JNI64/ipworkszip.obj JNI64/c_ipworkszip.obj  JNI64/bzip2.obj JNI64/gzip.obj JNI64/jar.obj JNI64/officedoc.obj JNI64/sevenzip.obj JNI64/tar.obj JNI64/zcompress.obj JNI64/zip.obj JNI64/zipsfx.obj JNI64/zipstream.obj 
  copy JNI64\jniipworkszip20.dll ..\kits\java\lib\x64\jniipworkszip20.dll
  -mkdir ..\kits\java\pdb\x64
  copy JNI64$(D)\jniipworkszip20.full.pdb ..\kits\java\pdb\x64
  copy JNI64$(D)\jniipworkszip20.public.pdb ..\kits\java\pdb\x64

_static: j2cp $(STATICLIB_OBJ_FILES) $(LIB_OBJ_FILES)
  set LIB=$(LIB)
  -mkdir Release64$(D)
  rc /l 0x409 /fo"Lib64$(D)/ipworkszip.res" /d "NDEBUG" ipworkszip.rc
  echo building static library...
  lib /MACHINE:x64 /out:"Release64$(D)\ipworkszip20s$(D).lib" $(ZLIB_PATH)\Release64$(D)\zlib.lib Lib64$(D)\ipworkszip.res Lib64$(D)\evtstr.obj Lib64$(D)\stream.obj StaticLib64$(D)/c_ipworkszip.obj
  -mkdir ..\kits\cpp\lib64\static
  copy Release64$(D)\ipworkszip20s$(D).lib ..\kits\cpp\lib64\static\ipworkszip20s$(D).lib

_static_vc11: j2cp $(STATICLIB_OBJ_FILES_VC11) $(LIB_OBJ_FILES_VC11)
  set PATH=$(PATH_VC11)
  -mkdir Release64$(D)\vc11
  rc /l 0x409 /fo"Lib64$(D)/vc11/ipworkszip.res" /d "NDEBUG" ipworkszip.rc
  echo building static library...
  lib /MACHINE:x64 /out:"Release64$(D)\vc11\ipworkszip20s$(D).lib" $(ZLIB_PATH)\Release64$(D)\vc11\zlib.lib Lib64$(D)\vc11\ipworkszip.res Lib64$(D)\vc11\evtstr.obj Lib64$(D)\vc11\stream.obj StaticLib64$(D)/vc11/c_ipworkszip.obj
  -mkdir ..\kits\cpp\lib64\static\vc11
  copy Release64$(D)\vc11\ipworkszip20s$(D).lib ..\kits\cpp\lib64\static\vc11\ipworkszip20s$(D).lib

_static_vc14: j2cp $(STATICLIB_OBJ_FILES_VC14) $(LIB_OBJ_FILES_VC14)
  set PATH=$(PATH_VC14)
  -mkdir Release64$(D)\vc14
  rc /l 0x409 /fo"Lib64$(D)/vc14/ipworkszip.res" /d "NDEBUG" ipworkszip.rc
  echo building static library...
  lib /MACHINE:x64 /out:"Release64$(D)\vc14\ipworkszip20s$(D).lib" $(ZLIB_PATH)\Release64$(D)\vc14\zlib.lib Lib64$(D)\vc14\ipworkszip.res Lib64$(D)\vc14\evtstr.obj Lib64$(D)\vc14\stream.obj StaticLib64$(D)/vc14/c_ipworkszip.obj
  -mkdir ..\kits\cpp\lib64\static\vc14
  copy Release64$(D)\vc14\ipworkszip20s$(D).lib ..\kits\cpp\lib64\static\vc14\ipworkszip20s$(D).lib

_static_vc15: j2cp $(STATICLIB_OBJ_FILES_VC15) $(LIB_OBJ_FILES_VC15)
  set PATH=$(PATH_VC15)
  -mkdir Release64$(D)\vc15
  rc /l 0x409 /fo"Lib64$(D)/vc15/ipworkszip.res" /d "NDEBUG" ipworkszip.rc
  echo building static library...
  lib /MACHINE:x64 /out:"Release64$(D)\vc15\ipworkszip20s$(D).lib" $(ZLIB_PATH)\Release64$(D)\vc15\zlib.lib Lib64$(D)\vc15\ipworkszip.res Lib64$(D)\vc15\evtstr.obj Lib64$(D)\vc15\stream.obj StaticLib64$(D)/vc15/c_ipworkszip.obj
  -mkdir ..\kits\cpp\lib64\static\vc15
  copy Release64$(D)\vc15\ipworkszip20s$(D).lib ..\kits\cpp\lib64\static\vc15\ipworkszip20s$(D).lib

_static_vc15_arm: j2cp $(STATICLIB_OBJ_FILES_VC15_ARM) $(LIB_OBJ_FILES_VC15_ARM)
  set PATH=$(PATH_VC15_ARM)
  set INCLUDE=$(INCLUDE_VC15)
  -mkdir Release64$(D)\vc15_arm
  rc /l 0x409 /fo"Lib64$(D)/vc15_arm/ipworkszip.res" /d "NDEBUG" ipworkszip.rc
  echo building static library...
  set LIB=$(LIB_VC15_ARM)
  lib /MACHINE:ARM64 /out:"Release64$(D)/vc15_arm/ipworkszip20s$(D).lib" $(ZLIB_PATH)\Release64$(D)\vc15_arm\zlib.lib Lib64$(D)\vc15_arm\ipworkszip.res Lib64$(D)\vc15_arm\evtstr.obj Lib64$(D)\vc15_arm\stream.obj StaticLib64$(D)/vc15_arm/c_ipworkszip.obj
  -mkdir ..\kits\cpp\libarm64\static
  copy Release64$(D)\vc15_arm\ipworkszip20s$(D).lib ..\kits\cpp\libarm64\static\ipworkszip20s$(D).lib

_plat_static_vc15: j2cp $(STATICLIB_OBJ_FILES_VC15) $(LIB_OBJ_FILES_VC15)
  set PATH=$(PATH_VC15)
  -mkdir Release64$(D)\vc15
  rc /l 0x409 /fo"Lib64$(D)/vc15/ipworkszip.res" /d "NDEBUG" ipworkszip.rc
  echo building static library...
  lib /MACHINE:x64 /out:"Release64$(D)\vc15\$(PLAT)ipworkszip20s.lib" $(ZLIB_PATH)\Release64$(D)\vc15\zlib.lib Lib64$(D)\vc15\ipworkszip.res Lib64$(D)\vc15\evtstr.obj Lib64$(D)\vc15\stream.obj StaticLib64$(D)/vc15/c_ipworkszip.obj

_plat_static_vc15_arm: j2cp $(STATICLIB_OBJ_FILES_VC15_ARM) $(LIB_OBJ_FILES_VC15_ARM)
  set PATH=$(PATH_VC15_ARM)
  set INCLUDE=$(INCLUDE_VC15)
  -mkdir Release64$(D)\vc15_arm
  rc /l 0x409 /fo"Lib64$(D)/vc15_arm/ipworkszip.res" /d "NDEBUG" ipworkszip.rc
  echo building static library...
  set LIB=$(LIB_VC15_ARM)
  lib /MACHINE:ARM64 /out:"Release64$(D)/vc15_arm/$(PLAT)ipworkszip20s.lib" $(ZLIB_PATH)\Release64$(D)\vc15_arm\zlib.lib Lib64$(D)\vc15_arm\ipworkszip.res Lib64$(D)\vc15_arm\evtstr.obj Lib64$(D)\vc15_arm\stream.obj StaticLib64$(D)/vc15_arm/c_ipworkszip.obj

.makefile:


Ответы (0 шт):