# # Copyright (c) 2005-2007 Alon Bar-Lev # All rights reserved. # # This software is available to you under a choice of one of two # licenses. You may choose to be licensed under the terms of the GNU # General Public License (GPL) Version 2, or the BSD license. # # GNU General Public License (GPL) Version 2 # =========================================== # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 # as published by the Free Software Foundation. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program (see the file COPYING.GPL included with this # distribution); if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # # BSD License # ============ # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # # o Redistributions of source code must retain the above copyright notice, # this list of conditions and the following disclaimer. # o Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # o Neither the name of the nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # # # If you wish openssl interface # Provide OPENSSL=1 OPENSSL_HOME= as nmake argument. # #OPENSSL=1 !ifdef OPENSSL !ifndef OPENSSL_HOME OPENSSL_HOME = ..\..\openssl-0.9.8a !endif !endif !ifdef OPENSSL OPENSSL_STATIC = libeay32.lib #OPENSSL_STATIC = libeay32sd.lib OPENSSL_DYNAMIC = libeay32.lib #OPENSSL_DYNAMIC = libeay32d.lib OPENSSL_CFLAGS=-I$(OPENSSL_HOME)/inc32 -DENABLE_PKCS11H_OPENSSL OPENSSL_LIBS=-LIBPATH:$(OPENSSL_HOME)\out32 user32.lib advapi32.lib $(OPENSSL_STATIC) !endif CFLAGS = -I../include $(OPENSSL_CFLAGS) -DWIN32 -DWIN32_LEAN_AND_MEAN -D_MBCS -D_CRT_SECURE_NO_DEPRECATE CC=cl.exe CFLAGS=$(CFLAGS) /nologo /W3 /O2 $(CFLAGS) /FD /c CFLAGS=$(CFLAGS) /MD -DNDEBUG LINK32=link.exe LIB32=lib.exe LINK32_FLAGS=/nologo /subsystem:windows /dll /incremental:no LIB32_FLAGS=/nologo HEADERS = \ config.h \ common.h \ _pkcs11h-core.h \ _pkcs11h-certificate.h \ _pkcs11h-crypto.h \ _pkcs11h-mem.h \ _pkcs11h-session.h \ _pkcs11h-slotevent.h \ _pkcs11h-sys.h \ _pkcs11h-threading.h \ _pkcs11h-token.h \ _pkcs11h-util.h \ ../include/pkcs11-helper-1.0/cryptoki.h \ ../include/pkcs11-helper-1.0/cryptoki-win32.h \ ../include/pkcs11-helper-1.0/pkcs11h-core.h \ ../include/pkcs11-helper-1.0/pkcs11h-certificate.h \ ../include/pkcs11-helper-1.0/pkcs11h-data.h \ ../include/pkcs11-helper-1.0/pkcs11h-def.h \ ../include/pkcs11-helper-1.0/pkcs11h-engines.h \ ../include/pkcs11-helper-1.0/pkcs11h-openssl.h \ ../include/pkcs11-helper-1.0/pkcs11h-token.h OBJS = \ pkcs11h-core.obj \ pkcs11h-certificate.obj \ pkcs11h-crypto.obj \ pkcs11h-data.obj \ pkcs11h-mem.obj \ pkcs11h-openssl.obj \ pkcs11h-serialization.obj \ pkcs11h-session.obj \ pkcs11h-slotevent.obj \ pkcs11h-sys.obj \ pkcs11h-threading.obj \ pkcs11h-token.obj \ pkcs11h-util.obj all: libpkcs11-helper-1.dll pkcs11-helper.lib pkcs11-helper-1.dll.def: echo LIBRARY libpkcs11-helper-1 > pkcs11-helper-1.dll.def echo EXPORTS >> pkcs11-helper-1.dll.def type core.exports >> pkcs11-helper-1.dll.def type certificate.exports >> pkcs11-helper-1.dll.def type data.exports >> pkcs11-helper-1.dll.def type slotevent.exports >> pkcs11-helper-1.dll.def type token.exports >> pkcs11-helper-1.dll.def !ifdef OPENSSL type openssl.exports >> pkcs11-helper-1.dll.def !endif libpkcs11-helper-1.dll: pkcs11-helper-1.dll.def $(OBJS) $(LINK32) @<< $(LINK32_FLAGS) /out:"libpkcs11-helper-1.dll" /def:pkcs11-helper-1.dll.def kernel32.lib gdi32.lib $(OPENSSL_LIBS) $(OBJS) << move libpkcs11-helper-1.lib pkcs11-helper.dll.lib pkcs11-helper.lib: $(OBJS) $(LIB32) @<< $(LIB32_FLAGS) /out:"pkcs11-helper.lib" $(OBJS) << clean: -del /Q $(OBJS) libpkcs11-helper-1.dll *.lib *.exp *.manifest *.idb *.pdb pkcs11-helper-1.dll.def .c.obj:: $(CC) @<< $(CFLAGS) $< <<