MAKEFILE.WIN64 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. #
  2. # Copyright (c) 2006 Philip R. Zimmermann. All rights reserved.
  3. # Contact: http://philzimmermann.com
  4. # For licensing and other legal details, see the file zrtp_legal.c.
  5. #
  6. # Andrew Rozinko <a.rozinko@soft-industry.com>
  7. #
  8. # THIS MAKEFILE WORKS WITH MICROSOFT NMAKE ONLY
  9. #
  10. # change this to point to your DDK
  11. DDK = ..\..\..\..\winddk2003
  12. OS = wnet
  13. BASENAME = libzrtp
  14. BINPATH = $(DDK)\bin\win64\x86\amd64
  15. #RELEASE = 1
  16. CC = $(BINPATH)\cl
  17. ASM = $(BINPATH)\ml
  18. LIB = $(BINPATH)\lib
  19. all: $(BASENAME).lib
  20. # bnlib (the BigNumber engine)
  21. bnlib = \
  22. ../../third_party/bnlib/bn.obj \
  23. ../../third_party/bnlib/bn32.obj \
  24. ../../third_party/bnlib/bninit32.obj \
  25. ../../third_party/bnlib/lbn32.obj \
  26. ../../third_party/bnlib/lbnmem.obj \
  27. ../../third_party/bnlib/legal.obj
  28. protocol = \
  29. ../../src/zrtp.obj \
  30. ../../src/zrtp_crc.obj \
  31. ../../src/zrtp_crypto_aes.obj \
  32. ../../src/zrtp_crypto_atl.obj \
  33. ../../src/zrtp_crypto_hash.obj \
  34. ../../src/zrtp_crypto_pk.obj \
  35. ../../src/zrtp_crypto_sas.obj \
  36. ../../src/zrtp_datatypes.obj \
  37. ../../src/zrtp_engine.obj \
  38. ../../src/enterprise/zrtp_engine_driven.obj \
  39. ../../src/enterprise/zrtp_crypto_ec.obj \
  40. ../../src/enterprise/zrtp_crypto_ecdh.obj \
  41. ../../src/zrtp_iface_sys.obj \
  42. ../../src/zrtp_initiator.obj \
  43. ../../src/zrtp_legal.obj \
  44. ../../src/zrtp_list.obj \
  45. ../../src/zrtp_log.obj \
  46. ../../src/zrtp_pbx.obj \
  47. ../../src/zrtp_protocol.obj \
  48. ../../src/zrtp_responder.obj \
  49. ../../src/zrtp_rng.obj \
  50. ../../src/zrtp_srtp_builtin.obj \
  51. ../../src/zrtp_string.obj \
  52. ../../src/zrtp_utils.obj \
  53. ../../src/zrtp_utils_proto.obj
  54. bgaes = \
  55. ../../third_party/bgaes/aes_modes.obj \
  56. ../../third_party/bgaes/aescrypt.obj \
  57. ../../third_party/bgaes/aeskey.obj \
  58. ../../third_party/bgaes/aestab.obj \
  59. ../../third_party/bgaes/sha1.obj \
  60. ../../third_party/bgaes/sha2.obj
  61. OBJECTS = $(bnlib) $(protocol) $(bgaes)
  62. !IFNDEF RELEASE
  63. # Debug
  64. OUT_DIR = debug64_ec.km
  65. DEFINES_D = -DWIN64=1 -D_WIN64=1 -D_AMD64_=1 -D_M_AMD64 -D_WINDOWS \
  66. -DSTD_CALL -DCONDITION_HANDLING=1 \
  67. -DNT_UP=1 -DNT_INST=0 -D_NT1X_=100 \
  68. -DWINNT=1 -D_WIN32_WINNT=0x0500 -DWIN32_LEAN_AND_MEAN=1 -DDBG=1 -D_DEBUG -DDEBUG -DDEVL=1 \
  69. -DFPO=0 -D_DLL=1 -D_IDWBUILD -DRDRDBG -DSRVDBG -DDBG_MESSAGES=1 \
  70. -D_UNICODE -DLITTLE_ENDIAN -DZRTP_USE_ENTERPRISE=1
  71. CFLAGS_D = $(DEFINES_D) -Zp8 -Gy -cbstring -Gz -Gm- -EHs-c- \
  72. -GR- -GF -FI$(DDK)\inc\$(OS)\warning.h -Z7 -Od -Oi -Oy- -W3
  73. !ELSE
  74. # Release
  75. OUT_DIR = release64_ec.km
  76. DEFINES_D = -DWIN64=1 -D_WIN64=1 -D_AMD64_=1 -D_M_AMD64 -D_WINDOWS \
  77. -DSTD_CALL -DCONDITION_HANDLING=1 \
  78. -DNT_UP=1 -DNO_DISK_ACCESS -DNT_INST=0 -DWIN32=100 -D_NT1X_=100 \
  79. -DWINNT=1 -D_WIN32_WINNT=0x0500 -DWIN32_LEAN_AND_MEAN=1 -DDEVL=1 \
  80. -DFPO=1 -DNDEBUG -D_DLL=1 -D_IDWBUILD -D_UNICODE \
  81. -DLITTLE_ENDIAN -DZRTP_USE_ENTERPRISE=1
  82. CFLAGS_D = $(DEFINES_D) -Zel -Zp8 -Gy -cbstring -Gz -QIfdiv- -QIf -Gi- -Gm- -GX- \
  83. -GR- -GF -Oxs -Oy -FI$(DDK)\inc\$(OS)\warning.h -W3 -FAcs -Z7
  84. !ENDIF
  85. ASM = ml
  86. AFLAGS = /c /Cx /coff /Zi
  87. AINCLUDE = -I. -I$(DDK)\inc
  88. CFLAGS = $(CFLAGS_D) -nologo -DHAVE_CONFIG_H=1 -DNT_DRIVER -D__BUILDMACHINE__=WinDDK \
  89. -I$(DDK)\inc\$(OS) -I$(DDK)\inc\ddk\$(OS) -I$(DDK)\inc\ddk\wdm\$(OS) \
  90. -I$(DDK)\inc\crt -I..\..\third_party\bnlib\config -I..\..\third_party\bnlib \
  91. -I..\..\third_party\bgaes -I..\..\test\include -I..\..\include -I..\..\include\enterprise
  92. .c.obj :
  93. @$(CC) -c $(CFLAGS) $< /Fo$(OUT_DIR)/$(<B).obj
  94. .asm.obj:
  95. $(ASM) $(AINCLUDE) $(AFLAGS) /Fo$(OUT_DIR)/$(<B).obj $<
  96. $(BASENAME).lib : $(OUT_DIR) $(OBJECTS)
  97. $(LIB) /OUT:"$(OUT_DIR)\$(BASENAME).lib" /NOLOGO $(OUT_DIR)\*.obj
  98. $(OUT_DIR) :
  99. @mkdir $(OUT_DIR)
  100. clean:
  101. del "$(OUT_DIR)\*.obj"
  102. del "$(OUT_DIR)\*.res"
  103. del "$(OUT_DIR)\*.map"
  104. del "$(OUT_DIR)\*.pdb"
  105. del "$(OUT_DIR)\$(BASENAME).lib"