From 08c3cc90fa56c0fdc955d046f68658cd16e2d5af Mon Sep 17 00:00:00 2001 From: sth Date: Sun, 16 Jan 2005 21:12:38 +0000 Subject: [PATCH] Simplified the procedure to link with openssl on Windows: now you only need to slightly change Make.rules.mak instead of hacking in several Makefile.mak files git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2077 c6295689-39f2-0310-b995-f0e70906c6a9 --- src/Makefile.mak | 5 ++++- src/libopensc/Makefile.mak | 2 +- src/pkcs11/Makefile.mak | 4 ++-- src/sslengines/Makefile.mak | 2 +- src/tools/Makefile.mak | 8 ++++---- win32/Make.rules.mak | 17 ++++++++++++++++- 6 files changed, 28 insertions(+), 10 deletions(-) diff --git a/src/Makefile.mak b/src/Makefile.mak index 223a3437..888cc219 100644 --- a/src/Makefile.mak +++ b/src/Makefile.mak @@ -1,5 +1,8 @@ +TOPDIR = .. -SUBDIRS = include common scconf scdl libopensc tests scrandom pkcs15init pkcs11 tools +!INCLUDE $(TOPDIR)\win32\Make.rules.mak + +SUBDIRS = include common scconf scdl libopensc tests scrandom pkcs15init pkcs11 tools $(SSL_ENGINES_DIR) all:: diff --git a/src/libopensc/Makefile.mak b/src/libopensc/Makefile.mak index 538f3a13..8e9593a4 100644 --- a/src/libopensc/Makefile.mak +++ b/src/libopensc/Makefile.mak @@ -38,4 +38,4 @@ all: install-headers $(TARGET) $(TARGET): $(OBJECTS) ..\scconf\scconf.lib ..\scdl\scdl.lib ..\common\common.lib perl $(TOPDIR)\win32\makedef.pl $*.def $* $(OBJECTS) - link $(LINKFLAGS) /dll /def:$*.def /implib:$*.lib /out:$(TARGET) $(OBJECTS) ..\scconf\scconf.lib ..\scdl\scdl.lib ..\common\common.lib winscard.lib + link $(LINKFLAGS) /dll /def:$*.def /implib:$*.lib /out:$(TARGET) $(OBJECTS) ..\scconf\scconf.lib ..\scdl\scdl.lib ..\common\common.lib winscard.lib $(OPENSSL_LIB) gdi32.lib diff --git a/src/pkcs11/Makefile.mak b/src/pkcs11/Makefile.mak index 91ceb38f..a08ab9a4 100644 --- a/src/pkcs11/Makefile.mak +++ b/src/pkcs11/Makefile.mak @@ -21,10 +21,10 @@ all: install-headers install-headers-dir $(TARGET) $(TARGET2) $(TARGET3) !INCLUDE $(TOPDIR)\win32\Make.rules.mak $(TARGET): $(OBJECTS) ..\libopensc\opensc.lib ..\scconf\scconf.lib ..\scrandom\scrandom.lib ..\pkcs15init\pkcs15init.lib ..\scdl\scdl.lib - link $(LINKFLAGS) /dll /out:$(TARGET) $(OBJECTS) ..\libopensc\opensc.lib ..\scconf\scconf.lib ..\scrandom\scrandom.lib ..\pkcs15init\pkcs15init.lib winscard.lib ..\scdl\scdl.lib + link $(LINKFLAGS) /dll /out:$(TARGET) $(OBJECTS) ..\libopensc\opensc.lib ..\scconf\scconf.lib ..\scrandom\scrandom.lib ..\pkcs15init\pkcs15init.lib winscard.lib ..\scdl\scdl.lib $(OPENSSL_LIB) gdi32.lib $(TARGET2): $(OBJECTS2) ..\scdl\scdl.lib lib /nologo /machine:ix86 /out:$(TARGET2) $(OBJECTS2) ..\scdl\scdl.lib $(TARGET3): $(OBJECTS3) ..\libopensc\opensc.lib ..\scconf\scconf.lib ..\scdl\scdl.lib - link $(LINKFLAGS) /dll /out:$(TARGET3) $(OBJECTS3) ..\libopensc\opensc.lib ..\scconf\scconf.lib ..\scdl\scdl.lib + link $(LINKFLAGS) /dll /out:$(TARGET3) $(OBJECTS3) ..\libopensc\opensc.lib ..\scconf\scconf.lib ..\scdl\scdl.lib $(OPENSSL_LIB) gdi32.lib diff --git a/src/sslengines/Makefile.mak b/src/sslengines/Makefile.mak index 55859e44..2b078a58 100644 --- a/src/sslengines/Makefile.mak +++ b/src/sslengines/Makefile.mak @@ -11,4 +11,4 @@ all: $(TARGET) !INCLUDE $(TOPDIR)\win32\Make.rules.mak $(TARGET): $(OBJECTS) ..\pkcs11\libpkcs11.obj ..\scconf\scconf.lib ..\scdl\scdl.lib - link $(LINKFLAGS) /dll /def:$*.def /implib:$*.lib /out:$(TARGET) $(OBJECTS) ..\pkcs11\libpkcs11.obj ..\scconf\scconf.lib ..\scdl\scdl.lib winscard.lib libeay32.lib gdi32.lib + link $(LINKFLAGS) /dll /def:$*.def /implib:$*.lib /out:$(TARGET) $(OBJECTS) ..\pkcs11\libpkcs11.obj ..\scconf\scconf.lib ..\scdl\scdl.lib winscard.lib $(OPENSSL_LIB) gdi32.lib diff --git a/src/tools/Makefile.mak b/src/tools/Makefile.mak index 9d838aad..bbe3b5a5 100644 --- a/src/tools/Makefile.mak +++ b/src/tools/Makefile.mak @@ -1,13 +1,13 @@ TOPDIR = ..\.. +!INCLUDE $(TOPDIR)\win32\Make.rules.mak + TARGETS = opensc-explorer.exe opensc-tool.exe \ - pkcs15-tool.exe pkcs15-crypt.exe pkcs11-tool.exe cardos-info.exe #pkcs15-init.exe + pkcs15-tool.exe pkcs15-crypt.exe pkcs11-tool.exe cardos-info.exe $(PKCS15_INIT) all: util.obj $(TARGETS) -!INCLUDE $(TOPDIR)\win32\Make.rules.mak - .c.obj: cl $(COPTS) /c $< @@ -17,4 +17,4 @@ all: util.obj $(TARGETS) ..\common\common.lib ..\scconf\scconf.lib ..\libopensc\opensc.lib \ ..\pkcs15init\pkcs15init.lib ..\pkcs11\libpkcs11.lib \ ..\scdl\scdl.lib \ - $(TOPDIR)\win32\version.res + $(TOPDIR)\win32\version.res $(OPENSSL_LIB) gdi32.lib diff --git a/win32/Make.rules.mak b/win32/Make.rules.mak index aa44f9ee..0a774cdb 100644 --- a/win32/Make.rules.mak +++ b/win32/Make.rules.mak @@ -1,4 +1,19 @@ -COPTS = /Zi /MD /nologo /DHAVE_CONFIG_H /I$(TOPDIR)\src\include /D_WIN32_WINNT=0x0400 +# If you want support for OpenSSL (needed for a.o. pkcs15-init tool and openssl engine): +# - download and build OpenSSL +# - uncomment the line starting with OPENSSL_DEF +# - set the OPENSSL_INCL_DIR below to your openssl include directory, preceded by "/I" +# - set the OPENSSL_LIB below to your openssl lib file +# Note: these instructions obsolete the instructions in opensc.html + +#OPENSSL_DEF = /DHAVE_OPENSSL +!IF "$(OPENSSL_DEF)" == "/DHAVE_OPENSSL" +OPENSSL_INCL_DIR = /IC:\openssl\include +OPENSSL_LIB = C:\openssl\out32dll\libeay32.lib +OPENSSL_ENGINES_DIR = sslengines +PKCS15_INIT = pkcs15-init.exe +!ENDIF + +COPTS = /Zi /MD /nologo /DHAVE_CONFIG_H /I$(TOPDIR)\src\include $(OPENSSL_INCL_DIR) /D_WIN32_WINNT=0x0400 $(OPENSSL_DEF) LINKFLAGS = /DEBUG /NOLOGO /INCREMENTAL:NO /MACHINE:IX86