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