2
0

MAKEFILE.WIN32 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  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 = ..\..\..\..\winddk\3790
  12. OS = wxp
  13. BASENAME = libzrtp
  14. #RELEASE = 1
  15. CC = cl
  16. ASM = ml
  17. LIB = lib
  18. all: $(BASENAME).lib
  19. # bnlib (the BigNumber engine)
  20. bnlib = \
  21. ../../third_party/bnlib/bn.obj \
  22. ../../third_party/bnlib/bn32.obj \
  23. ../../third_party/bnlib/bninit32.obj \
  24. ../../third_party/bnlib/lbn32.obj \
  25. ../../third_party/bnlib/lbnmem.obj \
  26. ../../third_party/bnlib/legal.obj
  27. protocol = \
  28. ../../src/zrtp.obj \
  29. ../../src/zrtp_crc.obj \
  30. ../../src/zrtp_crypto_aes.obj \
  31. ../../src/zrtp_crypto_atl.obj \
  32. ../../src/zrtp_crypto_hash.obj \
  33. ../../src/zrtp_crypto_pk.obj \
  34. ../../src/zrtp_crypto_sas.obj \
  35. ../../src/zrtp_datatypes.obj \
  36. ../../src/zrtp_engine.obj \
  37. ../../src/enterprise/zrtp_engine_driven.obj \
  38. ../../src/enterprise/zrtp_crypto_ec.obj \
  39. ../../src/enterprise/zrtp_crypto_ecdh.obj \
  40. ../../src/zrtp_iface_sys.obj \
  41. ../../src/zrtp_initiator.obj \
  42. ../../src/zrtp_legal.obj \
  43. ../../src/zrtp_list.obj \
  44. ../../src/zrtp_log.obj \
  45. ../../src/zrtp_pbx.obj \
  46. ../../src/zrtp_protocol.obj \
  47. ../../src/zrtp_responder.obj \
  48. ../../src/zrtp_rng.obj \
  49. ../../src/zrtp_srtp_builtin.obj \
  50. ../../src/zrtp_string.obj \
  51. ../../src/zrtp_utils.obj \
  52. ../../src/zrtp_utils_proto.obj
  53. bgaes = \
  54. ../../third_party/bgaes/aes_modes.obj \
  55. ../../third_party/bgaes/aescrypt.obj \
  56. ../../third_party/bgaes/aeskey.obj \
  57. ../../third_party/bgaes/aestab.obj \
  58. ../../third_party/bgaes/sha1.obj \
  59. ../../third_party/bgaes/sha2.obj
  60. OBJECTS = $(bnlib) $(protocol) $(bgaes)
  61. !IFNDEF RELEASE
  62. # Debug
  63. OUT_DIR = debug_ec.km
  64. DEFINES_D = -D_X86_=1 -Di386=1 -DSTD_CALL -DCONDITION_HANDLING=1 \
  65. -DNT_UP=1 -DNT_INST=0 -DWIN32=100 -D_NT1X_=100 \
  66. -DWINNT=1 -D_WIN32_WINNT=0x0500 -DWIN32_LEAN_AND_MEAN=1 -DDBG=1 -D_DEBUG -DDEBUG -DDEVL=1 \
  67. -DFPO=0 -D_DLL=1 -D_IDWBUILD -DRDRDBG -DSRVDBG -DDBG_MESSAGES=1 \
  68. -D_UNICODE -DLITTLE_ENDIAN -DZRTP_USE_ENTERPRISE=1
  69. CFLAGS_D = $(DEFINES_D) -Zel -Zp8 -Gy -cbstring -Gz -QIfdiv- -QIf -Gi- -Gm- -GX- \
  70. -GR- -GF -FI$(DDK)\inc\$(OS)\warning.h -Z7 -Od -Oi -Oy- -W3
  71. !ELSE
  72. # Release
  73. OUT_DIR = release_ec.km
  74. DEFINES_D = -D_X86_=1 -Di386=1 -DSTD_CALL -DCONDITION_HANDLING=1 \
  75. -DNT_UP=1 -DNO_DISK_ACCESS -DNT_INST=0 -DWIN32=100 -D_NT1X_=100 \
  76. -DWINNT=1 -D_WIN32_WINNT=0x0500 -DWIN32_LEAN_AND_MEAN=1 -DDEVL=1 \
  77. -DFPO=1 -DNDEBUG -D_DLL=1 -D_IDWBUILD -D_UNICODE \
  78. -DLITTLE_ENDIAN -DZRTP_USE_ENTERPRISE=1
  79. CFLAGS_D = $(DEFINES_D) -Zel -Zp8 -Gy -cbstring -Gz -QIfdiv- -QIf -Gi- -Gm- -GX- \
  80. -GR- -GF -Oxs -Oy -FI$(DDK)\inc\$(OS)\warning.h -W3 -FAcs -Z7
  81. !ENDIF
  82. ASM = ml
  83. AFLAGS = /c /Cx /coff /Zi
  84. AINCLUDE = -I. -I$(DDK)\inc
  85. CFLAGS = $(CFLAGS_D) -nologo -DHAVE_CONFIG_H=1 -DNT_DRIVER -D__BUILDMACHINE__=WinDDK \
  86. -I$(DDK)\inc\$(OS) -I$(DDK)\inc\ddk\$(OS) -I$(DDK)\inc\ddk\wdm\$(OS) \
  87. -I. -Ibnlib -Iinclude \
  88. -I$(DDK)\inc\crt -I..\..\third_party\bnlib\config -I..\..\third_party\bnlib \
  89. -I..\..\third_party\bgaes -I..\..\test\include -I..\..\include -I..\..\include\enterprise
  90. .c.obj :
  91. @$(CC) -c $(CFLAGS) $< /Fo$(OUT_DIR)/$(<B).obj
  92. .asm.obj:
  93. $(ASM) $(AINCLUDE) $(AFLAGS) /Fo$(OUT_DIR)/$(<B).obj $<
  94. $(BASENAME).lib : $(OUT_DIR) $(OBJECTS)
  95. $(LIB) /OUT:"$(OUT_DIR)\$(BASENAME).lib" /NOLOGO $(OUT_DIR)\*.obj
  96. $(OUT_DIR) :
  97. @mkdir $(OUT_DIR)
  98. clean:
  99. del "$(OUT_DIR)\*.obj"
  100. del "$(OUT_DIR)\*.res"
  101. del "$(OUT_DIR)\*.map"
  102. del "$(OUT_DIR)\*.pdb"
  103. del "$(OUT_DIR)\$(BASENAME).lib"