diff --git a/Makefile.mak b/Makefile.mak index 8d82d5c7..f76f33e6 100644 --- a/Makefile.mak +++ b/Makefile.mak @@ -1,7 +1,6 @@ - SUBDIRS = etc win32 src -all:: +default: all -all depend install clean:: +all clean:: @for %i in ( $(SUBDIRS) ) do @cmd /c "cd %i && $(MAKE) /nologo /f Makefile.mak $@" diff --git a/etc/Makefile.mak b/etc/Makefile.mak index e69de29b..f96380c5 100644 --- a/etc/Makefile.mak +++ b/etc/Makefile.mak @@ -0,0 +1 @@ +all clean:: diff --git a/src/Makefile.mak b/src/Makefile.mak index 5156b611..5ad1fe1f 100644 --- a/src/Makefile.mak +++ b/src/Makefile.mak @@ -1,9 +1,11 @@ TOPDIR = .. -!INCLUDE $(TOPDIR)\win32\Make.rules.mak - SUBDIRS = common scconf libsm pkcs15init libopensc pkcs11 tools tests +default: all + +!INCLUDE $(TOPDIR)\win32\Make.rules.mak + !IF "$(MINIDRIVER_DEF)" == "/DENABLE_MINIDRIVER" SUBDIRS = $(SUBDIRS) minidriver !ENDIF @@ -12,9 +14,6 @@ SUBDIRS = $(SUBDIRS) minidriver SUBDIRS = $(SUBDIRS) smm !ENDIF -all:: - -all depend install clean:: +all clean:: @for %i in ( $(SUBDIRS) ) do \ @cmd /c "cd %i && $(MAKE) /nologo /f Makefile.mak $@" - diff --git a/src/common/Makefile.mak b/src/common/Makefile.mak index c6ea6016..a1775cbf 100644 --- a/src/common/Makefile.mak +++ b/src/common/Makefile.mak @@ -4,6 +4,8 @@ COMMON_OBJECTS = compat_getpass.obj compat_getopt.obj compat_strlcpy.obj compat_ all: common.lib libpkcs11.lib libscdl.lib +!INCLUDE $(TOPDIR)\win32\Make.rules.mak + common.lib: $(COMMON_OBJECTS) lib $(LIBFLAGS) /out:common.lib $(COMMON_OBJECTS) @@ -12,6 +14,3 @@ libpkcs11.lib: libpkcs11.obj libscdl.obj libscdl.lib: libscdl.obj lib $(LIBFLAGS) /out:libscdl.lib libscdl.obj - -!INCLUDE $(TOPDIR)\win32\Make.rules.mak - diff --git a/src/libopensc/Makefile.mak b/src/libopensc/Makefile.mak index a3ad40ea..3f0b9b21 100644 --- a/src/libopensc/Makefile.mak +++ b/src/libopensc/Makefile.mak @@ -35,17 +35,21 @@ OBJECTS = \ compression.obj p15card-helper.obj sm.obj \ aux-data.obj \ $(TOPDIR)\win32\versioninfo.res +LIBS = $(TOPDIR)\src\scconf\scconf.lib \ + $(TOPDIR)\src\common\common.lib \ + $(TOPDIR)\src\common\libscdl.lib \ + $(TOPDIR)\src\pkcs15init\pkcs15init.lib all: $(TOPDIR)\win32\versioninfo.res $(TARGET) !INCLUDE $(TOPDIR)\win32\Make.rules.mak -opensc.dll: $(OBJECTS) ..\scconf\scconf.lib ..\common\common.lib ..\common\libscdl.lib ..\pkcs15init\pkcs15init.lib +opensc.dll: $(OBJECTS) $(LIBS) echo LIBRARY $* > $*.def echo EXPORTS >> $*.def type lib$*.exports >> $*.def - link $(LINKFLAGS) /dll /def:$*.def /implib:$*.lib /out:opensc.dll $(OBJECTS) ..\scconf\scconf.lib ..\common\common.lib ..\common\libscdl.lib ..\pkcs15init\pkcs15init.lib $(OPENSSL_LIB) $(ZLIB_LIB) gdi32.lib advapi32.lib ws2_32.lib + link $(LINKFLAGS) /dll /def:$*.def /implib:$*.lib /out:opensc.dll $(OBJECTS) $(LIBS) $(OPENSSL_LIB) $(ZLIB_LIB) gdi32.lib advapi32.lib ws2_32.lib if EXIST opensc.dll.manifest mt -manifest opensc.dll.manifest -outputresource:opensc.dll;2 -opensc_a.lib: $(OBJECTS) ..\scconf\scconf.lib ..\common\common.lib ..\common\libscdl.lib ..\pkcs15init\pkcs15init.lib - lib $(LIBFLAGS) /out:opensc_a.lib $(OBJECTS) ..\scconf\scconf.lib ..\common\common.lib ..\common\libscdl.lib ..\pkcs15init\pkcs15init.lib $(ZLIB_LIB) user32.lib advapi32.lib ws2_32.lib +opensc_a.lib: $(OBJECTS) $(LIBS) + lib $(LIBFLAGS) /out:opensc_a.lib $(OBJECTS) $(LIBS) $(OPENSSL_LIB) $(ZLIB_LIB) user32.lib advapi32.lib ws2_32.lib diff --git a/src/libsm/Makefile.mak b/src/libsm/Makefile.mak index 670d2f45..7fc50396 100644 --- a/src/libsm/Makefile.mak +++ b/src/libsm/Makefile.mak @@ -1,16 +1,18 @@ TOPDIR = ..\.. -!IF "$(OPENSSL_DEF)" == "/DENABLE_OPENSSL" TARGET = libsm.lib OBJECTS = sm-common.obj all: $(TARGET) +!INCLUDE $(TOPDIR)\win32\Make.rules.mak + +!IF "$(OPENSSL_DEF)" == "/DENABLE_OPENSSL" + $(TARGET): $(OBJECTS) lib $(LIBFLAGS) /out:$(TARGET) $(OBJECTS) -!INCLUDE $(TOPDIR)\win32\Make.rules.mak - !ELSE -all: +$(TARGET): + !ENDIF diff --git a/src/minidriver/Makefile.mak b/src/minidriver/Makefile.mak index 0a0693bf..ee8fa274 100644 --- a/src/minidriver/Makefile.mak +++ b/src/minidriver/Makefile.mak @@ -2,14 +2,17 @@ TOPDIR = ..\.. TARGET = opensc-minidriver.dll OBJECTS = minidriver.obj versioninfo-minidriver.res +LIBS = $(TOPDIR)\src\libopensc\opensc_a.lib \ + $(TOPDIR)\src\pkcs15init\pkcs15init.lib \ + $(TOPDIR)\src\common\libscdl.lib + +all: $(TARGET) !INCLUDE $(TOPDIR)\win32\Make.rules.mak -all: versioninfo-minidriver.res $(TARGET) - -$(TARGET): $(OBJECTS) ..\libopensc\opensc_a.lib ..\pkcs15init\pkcs15init.lib +$(TARGET): $(OBJECTS) $(LIBS) echo LIBRARY $* > $*.def echo EXPORTS >> $*.def type minidriver.exports >> $*.def - link /dll $(LINKFLAGS) /def:$*.def /out:$(TARGET) $(OBJECTS) ..\libopensc\opensc_a.lib ..\pkcs15init\pkcs15init.lib $(ZLIB_LIB) $(OPENSSL_LIB) ..\common\libscdl.lib ws2_32.lib gdi32.lib advapi32.lib Crypt32.lib User32.lib bcrypt.lib DelayImp.lib Rpcrt4.lib /DELAYLOAD:bcrypt.dll + link /dll $(LINKFLAGS) /def:$*.def /out:$(TARGET) $(OBJECTS) $(LIBS) $(ZLIB_LIB) $(OPENSSL_LIB) ws2_32.lib gdi32.lib advapi32.lib Crypt32.lib User32.lib bcrypt.lib DelayImp.lib Rpcrt4.lib /DELAYLOAD:bcrypt.dll if EXIST $(TARGET).manifest mt -manifest $(TARGET).manifest -outputresource:$(TARGET);2 diff --git a/src/pkcs11/Makefile.mak b/src/pkcs11/Makefile.mak index 7e908f8d..8fd0ff9e 100644 --- a/src/pkcs11/Makefile.mak +++ b/src/pkcs11/Makefile.mak @@ -5,24 +5,27 @@ TARGET2 = onepin-opensc-pkcs11.dll TARGET3 = pkcs11-spy.dll OBJECTS = pkcs11-global.obj pkcs11-session.obj pkcs11-object.obj misc.obj slot.obj \ - mechanism.obj openssl.obj framework-pkcs15.obj framework-pkcs15init.obj \ - debug.obj pkcs11-display.obj versioninfo-pkcs11.res + mechanism.obj openssl.obj framework-pkcs15.obj framework-pkcs15init.obj \ + debug.obj pkcs11-display.obj versioninfo-pkcs11.res OBJECTS3 = pkcs11-spy.obj pkcs11-display.obj versioninfo-pkcs11-spy.res -all: versioninfo-pkcs11.res $(TARGET1) $(TARGET2) $(TARGET3) versioninfo-pkcs11-spy.res +LIBS = $(TOPDIR)\src\libopensc\opensc_a.lib $(TOPDIR)\src\pkcs15init\pkcs15init.lib +LIBS3 = $(TOPDIR)\src\common\libpkcs11.lib $(TOPDIR)\src\common\libscdl.lib $(TOPDIR)\src\common\common.lib + +all: $(TARGET1) $(TARGET2) $(TARGET3) !INCLUDE $(TOPDIR)\win32\Make.rules.mak -$(TARGET1): $(OBJECTS) ..\libopensc\opensc_a.lib ..\pkcs15init\pkcs15init.lib - link $(LINKFLAGS) /dll /implib:$*.lib /out:$(TARGET1) $(OBJECTS) ..\libopensc\opensc_a.lib ..\pkcs15init\pkcs15init.lib $(OPENSSL_LIB) gdi32.lib +$(TARGET1): $(OBJECTS) $(LIBS) + link $(LINKFLAGS) /dll /implib:$*.lib /out:$(TARGET1) $(OBJECTS) $(LIBS) $(OPENSSL_LIB) gdi32.lib if EXIST $(TARGET1).manifest mt -manifest $(TARGET1).manifest -outputresource:$(TARGET1);2 -$(TARGET2): $(OBJECTS) ..\libopensc\opensc_a.lib ..\pkcs15init\pkcs15init.lib +$(TARGET2): $(OBJECTS) $(LIBS) del pkcs11-global.obj cl $(CODE_OPTIMIZATION) $(COPTS) /DMODULE_APP_NAME=\"onepin-opensc-pkcs11\" /c pkcs11-global.c - link $(LINKFLAGS) /dll /implib:$*.lib /out:$(TARGET2) $(OBJECTS) ..\libopensc\opensc_a.lib ..\pkcs15init\pkcs15init.lib $(OPENSSL_LIB) gdi32.lib + link $(LINKFLAGS) /dll /implib:$*.lib /out:$(TARGET2) $(OBJECTS) $(LIBS) $(OPENSSL_LIB) gdi32.lib if EXIST $(TARGET2).manifest mt -manifest $(TARGET2).manifest -outputresource:$(TARGET2);2 -$(TARGET3): $(OBJECTS3) ..\libopensc\opensc.lib - link $(LINKFLAGS) /dll /implib:$*.lib /out:$(TARGET3) $(OBJECTS3) ..\libopensc\opensc.lib ..\common\libpkcs11.lib ..\common\libscdl.lib ..\common\common.lib $(OPENSSL_LIB) gdi32.lib advapi32.lib +$(TARGET3): $(OBJECTS3) $(LIBS3) + link $(LINKFLAGS) /dll /implib:$*.lib /out:$(TARGET3) $(OBJECTS3) $(LIBS3) $(OPENSSL_LIB) gdi32.lib advapi32.lib if EXIST $(TARGET3).manifest mt -manifest $(TARGET3).manifest -outputresource:$(TARGET3);2 diff --git a/src/pkcs15init/Makefile.mak b/src/pkcs15init/Makefile.mak index ac5aac50..1eb6857f 100644 --- a/src/pkcs15init/Makefile.mak +++ b/src/pkcs15init/Makefile.mak @@ -14,8 +14,7 @@ OBJECTS = pkcs15-lib.obj profile.obj \ all: $(TARGET) -$(TARGET): $(OBJECTS) - lib $(LIBFLAGS) /out:$(TARGET) $(OBJECTS) - !INCLUDE $(TOPDIR)\win32\Make.rules.mak +$(TARGET): $(OBJECTS) + lib $(LIBFLAGS) /out:$(TARGET) $(OBJECTS) diff --git a/src/scconf/Makefile.mak b/src/scconf/Makefile.mak index c5869e4e..0c9b654a 100644 --- a/src/scconf/Makefile.mak +++ b/src/scconf/Makefile.mak @@ -7,7 +7,7 @@ OBJECTS = scconf.obj parse.obj write.obj sclex.obj all: $(TARGET) +!INCLUDE $(TOPDIR)\win32\Make.rules.mak + $(TARGET): $(OBJECTS) lib $(LIBFLAGS) /out:$(TARGET) $(OBJECTS) - -!INCLUDE $(TOPDIR)\win32\Make.rules.mak diff --git a/src/smm/Makefile.mak b/src/smm/Makefile.mak index d42057bc..25136561 100644 --- a/src/smm/Makefile.mak +++ b/src/smm/Makefile.mak @@ -1,24 +1,23 @@ TOPDIR = ..\.. -!IF "$(OPENSSL_DEF)" == "/DENABLE_OPENSSL" TARGET = smm-local.dll OBJECTS = smm-local.obj sm-global-platform.obj sm-cwa14890.obj sm-card-iasecc.obj sm-card-authentic.obj +LIBS = $(TOPDIR)\src\libsm\libsm.lib $(TOPDIR)\src\libopensc\opensc_a.lib $(TOPDIR)\src\common\libscdl.lib all: $(TARGET) !INCLUDE $(TOPDIR)\win32\Make.rules.mak -$(TARGET): $(OBJECTS) ..\libsm\libsm.lib ..\libopensc\opensc.lib +!IF "$(OPENSSL_DEF)" == "/DENABLE_OPENSSL" +$(TARGET): $(OBJECTS) $(LIBS) echo LIBRARY $* > $*.def echo EXPORTS >> $*.def type $*.exports >> $*.def - link /dll $(LINKFLAGS) /def:$*.def /out:$(TARGET) $(OBJECTS) ..\libsm\libsm.lib ..\libopensc\opensc_a.lib $(ZLIB_LIB) $(OPENSSL_LIB) ..\common\libscdl.lib ws2_32.lib gdi32.lib advapi32.lib Crypt32.lib User32.lib + link /dll $(LINKFLAGS) /def:$*.def /out:$(TARGET) $(OBJECTS) $(LIBS) $(ZLIB_LIB) $(OPENSSL_LIB) ws2_32.lib gdi32.lib advapi32.lib Crypt32.lib User32.lib if EXIST $(TARGET).manifest mt -manifest $(TARGET).manifest -outputresource:$(TARGET);2 -.c.obj: - cl $(COPTS) /c $< - !ELSE -all: +$(TARGET): + !ENDIF diff --git a/src/tests/Makefile.mak b/src/tests/Makefile.mak index 562aa82c..608807e7 100644 --- a/src/tests/Makefile.mak +++ b/src/tests/Makefile.mak @@ -1,21 +1,18 @@ - TOPDIR = ..\.. TARGETS = base64.exe p15dump.exe \ p15dump.exe pintest.exe # prngtest.exe lottery.exe -all: print.obj sc-test.obj $(TARGETS) -$(TARGETS): $(TOPDIR)\win32\versioninfo.res print.obj sc-test.obj \ - ..\common\common.lib ..\libopensc\opensc.lib +OBJECTS = print.obj sc-test.obj $(TOPDIR)\win32\versioninfo.res +LIBS = $(TOPDIR)\src\common\common.lib $(TOPDIR)\src\libopensc\opensc.lib + +all: $(TARGETS) !INCLUDE $(TOPDIR)\win32\Make.rules.mak -.c.obj: - cl $(COPTS) /c $< +$(TARGETS): $(OBJECTS) $(LIBS) .c.exe: cl $(COPTS) /c $< - link $(LINKFLAGS) /pdb:$*.pdb /out:$@ $*.obj sc-test.obj print.obj \ - ..\common\common.lib ..\libopensc\opensc.lib $(TOPDIR)\win32\versioninfo.res + link $(LINKFLAGS) /pdb:$*.pdb /out:$@ $*.obj $(OBJECTS) $(LIBS) if EXIST $@.manifest mt -manifest $@.manifest -outputresource:$@;1 - diff --git a/src/tools/Makefile.mak b/src/tools/Makefile.mak index 948a2217..6e4b2ad9 100644 --- a/src/tools/Makefile.mak +++ b/src/tools/Makefile.mak @@ -1,21 +1,26 @@ TOPDIR = ..\.. +default: all + !INCLUDE $(TOPDIR)\win32\Make.rules.mak TARGETS = opensc-tool.exe opensc-explorer.exe pkcs15-tool.exe pkcs15-crypt.exe \ pkcs11-tool.exe cardos-tool.exe eidenv.exe openpgp-tool.exe iasecc-tool.exe \ $(PROGRAMS_OPENSSL) -$(TARGETS): versioninfo-tools.res util.obj +OBJECTS = util.obj versioninfo-tools.res +LIBS = $(TOPDIR)\src\common\common.lib \ + $(TOPDIR)\src\scconf\scconf.lib \ + $(TOPDIR)\src\libopensc\opensc.lib \ + $(TOPDIR)\src\pkcs15init\pkcs15init.lib \ + $(TOPDIR)\src\common\libpkcs11.lib \ + $(TOPDIR)\src\common\libscdl.lib all: $(TARGETS) -.c.obj: - cl $(COPTS) /c $< +$(TARGETS): $(OBJECTS) $(LIBS) .c.exe: cl $(COPTS) /c $< - link $(LINKFLAGS) /pdb:$*.pdb /out:$@ $*.obj util.obj ..\common\common.lib \ - ..\scconf\scconf.lib ..\libopensc\opensc.lib ..\pkcs15init\pkcs15init.lib \ - ..\common\libpkcs11.lib ..\common\libscdl.lib versioninfo-tools.res $(OPENSSL_LIB) gdi32.lib - if EXIST $@.manifest mt -manifest $@.manifest -outputresource:$@;1 + link $(LINKFLAGS) /pdb:$*.pdb /out:$@ $*.obj $(OBJECTS) $(LIBS) $(OPENSSL_LIB) gdi32.lib + if EXIST $@.manifest mt -manifest $@.manifest -outputresource:$@;1 diff --git a/win32/Make.rules.mak b/win32/Make.rules.mak index ec1e20ce..eced692c 100644 --- a/win32/Make.rules.mak +++ b/win32/Make.rules.mak @@ -1,5 +1,3 @@ - - OPENSC_FEATURES = pcsc !IF "$(BUILD_ON)" == "WIN32" @@ -106,6 +104,7 @@ LINKFLAGS = /NOLOGO /INCREMENTAL:NO /MACHINE:X86 /MANIFEST:NO /NODEFAULTLIB:MSVC LIBFLAGS = /nologo /machine:x86 CANDLEFLAGS = -dPlatform=x86 $(CANDLEFLAGS) !ENDIF + .c.obj:: cl $(CODE_OPTIMIZATION) $(COPTS) /c $< diff --git a/win32/Makefile.mak b/win32/Makefile.mak index 34b98c0a..1631ecff 100644 --- a/win32/Makefile.mak +++ b/win32/Makefile.mak @@ -1,9 +1,9 @@ TOPDIR = .. -!INCLUDE $(TOPDIR)\win32\Make.rules.mak - all: versioninfo-customactions.res config.h +!INCLUDE $(TOPDIR)\win32\Make.rules.mak + config.h: winconfig.h copy /y winconfig.h config.h