You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

73 rivejä
3.1 KiB

  1. # This Makefile can be used with Microsoft Visual Studio's nmake using the command:
  2. # nmake /f Makefile.Microsoft_nmake
  3. # override as desired, use /E
  4. # vim: set ts=4 sw=4 et:
  5. TYPE=kem
  6. SCHEME=kyber768
  7. SCHEME_UPPERCASE=KYBER768
  8. IMPLEMENTATION=clean
  9. IMPLEMENTATION_UPPERCASE=CLEAN
  10. SCHEME_DIR=..\crypto_$(TYPE)\$(SCHEME)\$(IMPLEMENTATION)
  11. COMMON_DIR=..\common
  12. COMMON_OBJECTS=$(COMMON_DIR)\aes.obj $(COMMON_DIR)\fips202.obj $(COMMON_DIR)\sha2.obj
  13. COMMON_OBJECTS_NOPATH=aes.obj fips202.obj sha2.obj
  14. DEST_DIR=..\bin
  15. CFLAGS=/nologo /I $(COMMON_DIR) /W4 /WX
  16. all: $(DEST_DIR)\functest_$(SCHEME)_$(IMPLEMENTATION).EXE $(DEST_DIR)\testvectors_$(SCHEME)_$(IMPLEMENTATION).EXE
  17. build-scheme:
  18. cd $(SCHEME_DIR)
  19. nmake /f Makefile.Microsoft_nmake
  20. cd ..\..\..\test
  21. clean-scheme:
  22. cd $(SCHEME_DIR)
  23. nmake /f Makefile.Microsoft_nmake clean
  24. cd ..\..\..\test
  25. functest: $(DEST_DIR)\functest_$(SCHEME)_$(IMPLEMENTATION).exe
  26. testvectors: $(DEST_DIR)\testvectors_$(SCHEME)_$(IMPLEMENTATION).exe
  27. printparams: $(DEST_DIR)\printparams_$(SCHEME)_$(IMPLEMENTATION).exe
  28. nistkat: $(DEST_DIR)\nistkat_$(SCHEME)_$(IMPLEMENTATION).exe
  29. $(DEST_DIR)\functest_$(SCHEME)_$(IMPLEMENTATION).exe: build-scheme $(COMMON_OBJECTS) $(COMMON_DIR)\randombytes.obj
  30. -MKDIR $(DEST_DIR)
  31. -DEL functest.obj
  32. $(CC) /c crypto_$(TYPE)\functest.c $(CFLAGS) /I $(SCHEME_DIR) /DPQCLEAN_NAMESPACE=PQCLEAN_$(SCHEME_UPPERCASE)_$(IMPLEMENTATION_UPPERCASE)
  33. LINK.EXE /STACK:8192000 /OUT:$@ functest.obj $(COMMON_OBJECTS_NOPATH) randombytes.obj $(SCHEME_DIR)\lib$(SCHEME)_$(IMPLEMENTATION).lib Advapi32.lib
  34. $(DEST_DIR)\testvectors_$(SCHEME)_$(IMPLEMENTATION).exe: build-scheme $(COMMON_OBJECTS) $(COMMON_DIR)\notrandombytes.obj
  35. -MKDIR $(DEST_DIR)
  36. -DEL testvectors.obj
  37. $(CC) /c crypto_$(TYPE)\testvectors.c $(CFLAGS) /I $(SCHEME_DIR) /DPQCLEAN_NAMESPACE=PQCLEAN_$(SCHEME_UPPERCASE)_$(IMPLEMENTATION_UPPERCASE)
  38. LINK.EXE /STACK:8192000 /OUT:$@ testvectors.obj $(COMMON_OBJECTS_NOPATH) notrandombytes.obj $(SCHEME_DIR)\lib$(SCHEME)_$(IMPLEMENTATION).lib
  39. $(DEST_DIR)\printparams_$(SCHEME)_$(IMPLEMENTATION).exe: crypto_$(TYPE)\printparams.c $(SCHEME_DIR)\api.h
  40. -MKDIR $(DEST_DIR)
  41. -DEL printparams.obj
  42. $(CC) /c crypto_$(TYPE)\printparams.c $(CFLAGS) /I $(SCHEME_DIR) /DPQCLEAN_NAMESPACE=PQCLEAN_$(SCHEME_UPPERCASE)_$(IMPLEMENTATION_UPPERCASE)
  43. LINK.EXE /OUT:$@ printparams.obj
  44. $(DEST_DIR)\nistkat_$(SCHEME)_$(IMPLEMENTATION).exe: build-scheme $(COMMON_OBJECTS) $(COMMON_DIR)\nistkatrng.obj
  45. -MKDIR $(DEST_DIR)
  46. -DEL nistkat.obj
  47. $(CC) /c crypto_$(TYPE)\nistkat.c $(CFLAGS) /I $(SCHEME_DIR) /DPQCLEAN_NAMESPACE=PQCLEAN_$(SCHEME_UPPERCASE)_$(IMPLEMENTATION_UPPERCASE)
  48. LINK.EXE /STACK:8192000 /OUT:$@ nistkat.obj $(COMMON_OBJECTS_NOPATH) nistkatrng.obj $(SCHEME_DIR)\lib$(SCHEME)_$(IMPLEMENTATION).lib
  49. clean:
  50. -DEL functest.obj testvectors.obj printparams.obj nistkat.obj
  51. -DEL $(COMMON_OBJECTS_NOPATH) randombytes.obj notrandombytes.obj
  52. -DEL $(DEST_DIR)\functest_$(SCHEME)_$(IMPLEMENTATION).exe
  53. -DEL $(DEST_DIR)\testvectors_$(SCHEME)_$(IMPLEMENTATION).exe
  54. -DEL $(DEST_DIR)\printparams_$(SCHEME)_$(IMPLEMENTATION).exe
  55. -DEL $(DEST_DIR)\nistkat_$(SCHEME)_$(IMPLEMENTATION).exe