From ea7eb699e52156dc8edd76e3288f432cffa3618f Mon Sep 17 00:00:00 2001 From: martin Date: Fri, 1 Apr 2011 08:06:25 +0000 Subject: [PATCH] WindowsInstaller: build for x64 with nmake -f Makefile.mak BUILD_TYPE=WIN64 git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@5286 c6295689-39f2-0310-b995-f0e70906c6a9 --- src/common/Makefile.mak | 6 +++--- src/pkcs15init/Makefile.mak | 2 +- src/scconf/Makefile.mak | 2 +- win32/Make.rules.mak | 28 ++++++++++++++++++++++------ 4 files changed, 27 insertions(+), 11 deletions(-) diff --git a/src/common/Makefile.mak b/src/common/Makefile.mak index 6a58fe50..55841174 100644 --- a/src/common/Makefile.mak +++ b/src/common/Makefile.mak @@ -5,13 +5,13 @@ COMMON_OBJECTS = compat_getpass.obj compat_getopt.obj compat_strlcpy.obj compat_ all: common.lib libpkcs11.lib libscdl.lib common.lib: $(COMMON_OBJECTS) - lib /nologo /machine:ix86 /out:common.lib $(COMMON_OBJECTS) + lib $(LIBFLAGS) /out:common.lib $(COMMON_OBJECTS) libpkcs11.lib: libpkcs11.obj libscdl.obj - lib /nologo /machine:ix86 /out:libpkcs11.lib libpkcs11.obj libscdl.obj + lib $(LIBFLAGS) /out:libpkcs11.lib libpkcs11.obj libscdl.obj libscdl.lib: libscdl.obj - lib /nologo /machine:ix86 /out:libscdl.lib libscdl.obj + lib $(LIBFLAGS) /out:libscdl.lib libscdl.obj !INCLUDE $(TOPDIR)\win32\Make.rules.mak diff --git a/src/pkcs15init/Makefile.mak b/src/pkcs15init/Makefile.mak index 70467963..a3eb895e 100644 --- a/src/pkcs15init/Makefile.mak +++ b/src/pkcs15init/Makefile.mak @@ -13,7 +13,7 @@ OBJECTS = pkcs15-lib.obj profile.obj \ all: $(TARGET) $(TARGET): $(OBJECTS) - lib /nologo /machine:ix86 /out:$(TARGET) $(OBJECTS) + lib $(LIBFLAGS) /out:$(TARGET) $(OBJECTS) !INCLUDE $(TOPDIR)\win32\Make.rules.mak diff --git a/src/scconf/Makefile.mak b/src/scconf/Makefile.mak index 3fbc406f..c5869e4e 100644 --- a/src/scconf/Makefile.mak +++ b/src/scconf/Makefile.mak @@ -8,6 +8,6 @@ OBJECTS = scconf.obj parse.obj write.obj sclex.obj all: $(TARGET) $(TARGET): $(OBJECTS) - lib /nologo /machine:ix86 /out:$(TARGET) $(OBJECTS) + lib $(LIBFLAGS) /out:$(TARGET) $(OBJECTS) !INCLUDE $(TOPDIR)\win32\Make.rules.mak diff --git a/win32/Make.rules.mak b/win32/Make.rules.mak index fb830da1..28ca7475 100644 --- a/win32/Make.rules.mak +++ b/win32/Make.rules.mak @@ -4,8 +4,11 @@ OPENSC_FEATURES = pcsc MINIDRIVER_DEF = /DENABLE_CARDMOD #Build MSI with the Windows Installer XML (WIX) toolkit, requires WIX >= 3.6 +!IF "$(BUILD_TYPE)" == "WIN64" +WIX_PATH = "C:\Program Files (x86)\Windows Installer XML v3.6" +!ELSE WIX_PATH = "C:\Program Files\Windows Installer XML v3.6" - +!ENDIF # If you want support for OpenSSL (needed for pkcs15-init tool, software hashing in PKCS#11 library and verification): # - download and build OpenSSL @@ -14,8 +17,13 @@ WIX_PATH = "C:\Program Files\Windows Installer XML v3.6" # - set the OPENSSL_LIB below to your openssl lib file OPENSSL_DEF = /DENABLE_OPENSSL !IF "$(OPENSSL_DEF)" == "/DENABLE_OPENSSL" -OPENSSL_INCL_DIR = /IC:\OpenSSL-Win32\include -OPENSSL_LIB = C:\OpenSSL-Win32\lib\VC\static\libeay32MT.lib C:\OpenSSL-Win32\lib\VC\static\ssleay32MT.lib user32.lib advapi32.lib crypt32.lib +!IF "$(BUILD_TYPE)" == "WIN64" +OPENSSL_DIR = C:\OpenSSL-Win64 +!ELSE +OPENSSL_DIR = C:\OpenSSL-Win32 +!ENDIF +OPENSSL_INCL_DIR = /I$(OPENSSL_DIR)\include +OPENSSL_LIB = $(OPENSSL_DIR)\lib\VC\static\libeay32MT.lib $(OPENSSL_DIR)\lib\VC\static\ssleay32MT.lib user32.lib advapi32.lib crypt32.lib PROGRAMS_OPENSSL = pkcs15-init.exe cryptoflex-tool.exe netkey-tool.exe piv-tool.exe westcos-tool.exe OPENSC_FEATURES = $(OPENSC_FEATURES) openssl @@ -35,16 +43,24 @@ OPENSC_FEATURES = $(OPENSC_FEATURES) zlib !ENDIF # Used for MiniDriver +!IF "$(BUILD_TYPE)" == "WIN64" +CNGSDK_INCL_DIR = "/IC:\Program Files (x86)\Microsoft CNG Development Kit\Include" +!ELSE CNGSDK_INCL_DIR = "/IC:\Program Files\Microsoft CNG Development Kit\Include" - +!ENDIF # Mandatory path to 'ISO C9x compliant stdint.h and inttypes.h for Microsoft Visual Studio' # http://msinttypes.googlecode.com/files/msinttypes-r26.zip # INTTYPES_INCL_DIR = /IC:\opensc\dependencies\msys\local ALL_INCLUDES = /I$(TOPDIR)\win32 /I$(TOPDIR)\src $(OPENSSL_INCL_DIR) $(ZLIB_INCL_DIR) $(LIBLTDL_INCL) $(INTTYPES_INCL_DIR) $(CNGSDK_INCL_DIR) COPTS = /D_CRT_SECURE_NO_DEPRECATE /MT /nologo /DHAVE_CONFIG_H $(ALL_INCLUDES) /D_WIN32_WINNT=0x0502 /DWIN32_LEAN_AND_MEAN $(OPENSSL_DEF) $(ZLIB_DEF) $(MINIDRIVER_DEF) /DOPENSC_FEATURES="\"$(OPENSC_FEATURES)\"" -LINKFLAGS = /NOLOGO /INCREMENTAL:NO /MACHINE:IX86 /MANIFEST:NO /NODEFAULTLIB:MSVCRTD /NODEFAULTLIB:MSVCRT /NODEFAULTLIB:LIBCMTD - +!IF "$(BUILD_TYPE)" == "WIN64" +LINKFLAGS = /NOLOGO /INCREMENTAL:NO /MACHINE:X64 /MANIFEST:NO /NODEFAULTLIB:MSVCRTD /NODEFAULTLIB:MSVCRT /NODEFAULTLIB:LIBCMTD +LIBFLAGS = /nologo /machine:x64 +!ELSE +LINKFLAGS = /NOLOGO /INCREMENTAL:NO /MACHINE:X86 /MANIFEST:NO /NODEFAULTLIB:MSVCRTD /NODEFAULTLIB:MSVCRT /NODEFAULTLIB:LIBCMTD +LIBFLAGS = /nologo /machine:x86 +!ENDIF .c.obj:: cl $(COPTS) /c $<