103 lines
3.6 KiB
Batchfile
103 lines
3.6 KiB
Batchfile
rem MIRACL Build Batch File
|
|
rem This file builds an entirely C++ version of the library
|
|
rem This batch files creates miracl.lib from its component parts
|
|
rem using the Microsoft 64-bit compiler, and the Microsoft LIB librarian utility
|
|
rem Also included are the commands to create some of the example programs
|
|
rem
|
|
rem Read your compiler documentation for further information
|
|
rem
|
|
rem Invoke as "ms64doit_cpp". It is assumed that paths have been correctly set up
|
|
rem to the compiler, librarian and linker.
|
|
rem
|
|
rem Provided mainly as a guide for creating a batch file tailored
|
|
rem specifically to your own configuration.
|
|
rem
|
|
rem Note - the module mrmuldv.c is not needed if MR_NOASM is defined
|
|
rem
|
|
rem NOTE - the flag /MT should be used for multithreaded applications
|
|
rem
|
|
rem Compile MIRACL modules
|
|
copy mirdef.wpp mirdef.h
|
|
cl /c /O2 /W3 /Tp mrcore.c
|
|
cl /c /O2 /W3 /Tp mrarth0.c
|
|
cl /c /O2 /W3 /Tp mrarth1.c
|
|
cl /c /O2 /W3 /Tp mrarth2.c
|
|
cl /c /O2 /W3 /Tp mralloc.c
|
|
cl /c /O2 /W3 /Tp mrsmall.c
|
|
cl /c /O2 /W3 /Tp mrio1.c
|
|
cl /c /O2 /W3 /Tp mrio2.c
|
|
cl /c /O2 /W3 /Tp mrgcd.c
|
|
cl /c /O2 /W3 /Tp mrjack.c
|
|
cl /c /O2 /W3 /Tp mrxgcd.c
|
|
cl /c /O2 /W3 /Tp mrarth3.c
|
|
cl /c /O2 /W3 /Tp mrbits.c
|
|
cl /c /O2 /W3 /Tp mrrand.c
|
|
cl /c /O2 /W3 /Tp mrprime.c
|
|
cl /c /O2 /W3 /Tp mrcrt.c
|
|
cl /c /O2 /W3 /Tp mrscrt.c
|
|
cl /c /O2 /W3 /Tp mrmonty.c
|
|
cl /c /O2 /W3 /Tp mrpower.c
|
|
cl /c /O2 /W3 /Tp mrsroot.c
|
|
cl /c /O2 /W3 /Tp mrcurve.c
|
|
cl /c /O2 /W3 /Tp mrfast.c
|
|
cl /c /O2 /W3 /Tp mrlucas.c
|
|
cl /c /O2 /W3 /Tp mrzzn2.c
|
|
cl /c /O2 /W3 /Tp mrzzn2b.c
|
|
cl /c /O2 /W3 /Tp mrzzn3.c
|
|
cl /c /O2 /W3 /Tp mrzzn4.c
|
|
cl /c /O2 /W3 /Tp mrshs.c
|
|
cl /c /O2 /W3 /Tp mrshs256.c
|
|
cl /c /O2 /W3 /Tp mrshs512.c
|
|
cl /c /O2 /W3 /Tp mrsha3.c
|
|
cl /c /O2 /W3 /Tp mrfpe.c
|
|
cl /c /O2 /W3 /Tp mraes.c
|
|
cl /c /O2 /W3 /Tp mrgcm.c
|
|
cl /c /O2 /W3 /Tp mrstrong.c
|
|
cl /c /O2 /W3 /Tp mrbrick.c
|
|
cl /c /O2 /W3 /Tp mrebrick.c
|
|
cl /c /O2 /W3 /Tp mrgf2m.c
|
|
cl /c /O2 /W3 /Tp mrec2m.c
|
|
cl /c /O2 /W3 /Tp mrecn2.c
|
|
cl /c /O2 /W3 /Tp mrflash.c
|
|
cl /c /O2 /W3 /Tp mrfrnd.c
|
|
cl /c /O2 /W3 /Tp mrdouble.c
|
|
cl /c /O2 /W3 /Tp mrround.c
|
|
cl /c /O2 /W3 /Tp mrbuild.c
|
|
cl /c /O2 /W3 /Tp mrflsh1.c
|
|
cl /c /O2 /W3 /Tp mrpi.c
|
|
cl /c /O2 /W3 /Tp mrflsh2.c
|
|
cl /c /O2 /W3 /Tp mrflsh3.c
|
|
cl /c /O2 /W3 /Tp mrflsh4.c
|
|
copy mrmuldv.w64 mrmuldv.c
|
|
cl /c /O2 /W3 /Tp mrmuldv.c
|
|
cl /c /O2 /W3 /EHsc big.cpp
|
|
cl /c /O2 /W3 /EHsc zzn.cpp
|
|
cl /c /O2 /W3 /EHsc ecn.cpp
|
|
cl /c /O2 /W3 /EHsc ec2.cpp
|
|
cl /c /O2 /W3 /EHsc flash.cpp
|
|
|
|
rem
|
|
rem Create library 'miracl.lib'
|
|
rem Note that now C++ modules can be put in here as well.
|
|
del miracl.lib
|
|
|
|
lib /OUT:miracl.lib mrflsh4.obj mrflsh3.obj mrflsh2.obj mrpi.obj mrflsh1.obj
|
|
lib /OUT:miracl.lib miracl.lib mrdouble.obj mrflash.obj mrfrnd.obj mrround.obj mrbuild.obj
|
|
lib /OUT:miracl.lib miracl.lib mrio2.obj mrio1.obj mrrand.obj mrprime.obj mrcrt.obj mrscrt.obj mrfast.obj
|
|
lib /OUT:miracl.lib miracl.lib mrjack.obj mrxgcd.obj mrgcd.obj mrarth3.obj mrarth2.obj mrpower.obj mrsroot.obj
|
|
lib /OUT:miracl.lib miracl.lib mrmonty.obj mralloc.obj mrarth1.obj mrarth0.obj mrsmall.obj mrcore.obj mrmuldv.obj
|
|
lib /OUT:miracl.lib miracl.lib mrcurve.obj mrshs.obj mraes.obj mrlucas.obj mrstrong.obj mrbrick.obj mrbits.obj
|
|
lib /OUT:miracl.lib miracl.lib mrshs256.obj mrshs512.obj mrebrick.obj mrgf2m.obj mrec2m.obj mrzzn2.obj mrzzn3.obj mrzzn4.obj
|
|
lib /OUT:miracl.lib miracl.lib mrecn2.obj mrzzn2b.obj mrgcm.obj mrfpe.obj mrsha3.obj
|
|
lib /OUT:miracl.lib miracl.lib big.obj zzn.obj ecn.obj ec2.obj flash.obj
|
|
|
|
del mr*.obj
|
|
rem
|
|
|
|
rem Compile and link example programs
|
|
cl /O2 /W3 /EHsc brute.cpp miracl.lib
|
|
cl /O2 /W3 /EHsc brent.cpp miracl.lib
|
|
cl /O2 /W3 /EHsc pk-demo.cpp miracl.lib
|
|
cl /O2 /W3 /Tp bmark.c miracl.lib
|
|
cl /O2 /W3 /EHsc sample.cpp miracl.lib
|