os-auto.mak 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. ifneq (,1)
  2. ifeq (0,1)
  3. # External
  4. else
  5. DIRS += gsm
  6. endif
  7. endif
  8. ifneq (,1)
  9. DIRS += ilbc
  10. endif
  11. # Exclude Speex?
  12. EXCLUDE_SPEEX = 0
  13. ifeq (,1)
  14. ifneq (,)
  15. EXCLUDE_SPEEX = 1
  16. endif
  17. endif
  18. ifneq ($(EXCLUDE_SPEEX),1)
  19. ifeq (0,1)
  20. # External speex
  21. else
  22. DIRS += speex
  23. endif
  24. endif
  25. ifneq (,1)
  26. DIRS += g7221
  27. endif
  28. ifneq ($(findstring pa,null),)
  29. ifeq (0,1)
  30. # External PA
  31. else
  32. #DIRS += portaudio
  33. endif
  34. endif
  35. ifneq ($(findstring windows_os,),)
  36. DIRS += baseclasses
  37. endif
  38. ifneq (,1)
  39. ifneq (0,0)
  40. # External SRTP
  41. else
  42. DIRS += srtp
  43. endif
  44. ifeq (1,0)
  45. CIPHERS_SRC = crypto/cipher/aes.o crypto/cipher/aes_icm.o \
  46. # crypto/cipher/aes_cbc.o
  47. HASHES_SRC = crypto/hash/sha1.o crypto/hash/hmac.o \
  48. # crypto/hash/tmmhv2.o
  49. RNG_SRC = # crypto/rng/rand_source.o crypto/rng/prng.o \
  50. # crypto/rng/ctr_prng.o
  51. else
  52. CIPHERS_SRC = crypto/cipher/aes_icm_ossl.o crypto/cipher/aes_gcm_ossl.o
  53. HASHES_SRC = crypto/hash/hmac_ossl.o
  54. RNG_SRC = # crypto/rng/rand_source_ossl.o
  55. SRTP_OTHER_CFLAGS = -DOPENSSL -DGCM
  56. endif
  57. endif
  58. ifeq (libresample,libresample)
  59. DIRS += resample
  60. endif
  61. ifneq (,1)
  62. ifeq (0,1)
  63. # External yuv
  64. else
  65. DIRS += yuv
  66. endif
  67. endif
  68. ifneq (,1)
  69. ifeq (0,1)
  70. # External webrtc
  71. else
  72. DIRS += webrtc
  73. WEBRTC_OTHER_CFLAGS = -fexceptions -DWEBRTC_POSIX=1
  74. ifneq ($(findstring sse2,sse2),)
  75. WEBRTC_SRC = \
  76. modules/audio_processing/aec/aec_core_sse2.o \
  77. modules/audio_processing/aec/aec_rdft_sse2.o \
  78. modules/audio_processing/aecm/aecm_core_c.o \
  79. modules/audio_processing/ns/nsx_core_c.o \
  80. system_wrappers/source/cpu_features.o
  81. else ifneq ($(findstring neon,sse2),)
  82. WEBRTC_SRC = \
  83. modules/audio_processing/aec/aec_core_neon.o \
  84. modules/audio_processing/aec/aec_rdft_neon.o \
  85. modules/audio_processing/aecm/aecm_core_c.o \
  86. modules/audio_processing/aecm/aecm_core_neon.o \
  87. modules/audio_processing/ns/nsx_core_c.o \
  88. modules/audio_processing/ns/nsx_core_neon.o \
  89. common_audio/signal_processing/cross_correlation_neon.o \
  90. common_audio/signal_processing/downsample_fast_neon.o \
  91. common_audio/signal_processing/min_max_operations_neon.o
  92. WEBRTC_OTHER_CFLAGS += -DWEBRTC_HAS_NEON
  93. else ifneq ($(findstring mips,sse2),)
  94. WEBRTC_SRC = \
  95. modules/audio_processing/aec/aec_core_mips.o \
  96. modules/audio_processing/aec/aec_rdft_mips.o \
  97. modules/audio_processing/aecm/aecm_core_mips.o \
  98. modules/audio_processing/ns/nsx_core_mips.o \
  99. common_audio/signal_processing/cross_correlation_mips.o \
  100. common_audio/signal_processing/downsample_fast_mips.o \
  101. common_audio/signal_processing/min_max_operations_mips.o
  102. WEBRTC_OTHER_CFLAGS += -DMIPS_FPU_LE
  103. else # Generic fixed point
  104. WEBRTC_SRC = \
  105. modules/audio_processing/aecm/aecm_core_c.o \
  106. modules/audio_processing/ns/nsx_core_c.o \
  107. common_audio/signal_processing/complex_fft.o
  108. endif
  109. endif
  110. endif
  111. ifneq (1,1)
  112. ifeq (0,1)
  113. # External webrtc AEC3
  114. else
  115. DIRS += webrtc_aec3
  116. WEBRTC_AEC3_OTHER_CFLAGS = -fexceptions
  117. ifneq ($(findstring sse2,),)
  118. export WEBRTC_AEC3_SRC = \
  119. common_audio/resampler/sinc_resampler_sse.o \
  120. common_audio/third_party/ooura/fft_size_128/ooura_fft_sse2.o
  121. export WEBRTC_AEC3_SRC += \
  122. common_audio/resampler/sinc_resampler_avx2.o \
  123. modules/audio_processing/aec3/adaptive_fir_filter_erl_avx2.o \
  124. modules/audio_processing/aec3/adaptive_fir_filter_avx2.o \
  125. modules/audio_processing/aec3/fft_data_avx2.o \
  126. modules/audio_processing/aec3/matched_filter_avx2.o \
  127. modules/audio_processing/aec3/vector_math_avx2.o \
  128. modules/audio_processing/agc2/rnn_vad/rnn_vector_math_avx2.o
  129. WEBRTC_AEC3_OTHER_CFLAGS += -mfma
  130. else ifneq ($(findstring neon,),)
  131. export WEBRTC_AEC3_SRC = \
  132. common_audio/resampler/sinc_resampler_neon.o \
  133. common_audio/third_party/ooura/fft_size_128/ooura_fft_neon.o
  134. WEBRTC_AEC3_OTHER_CFLAGS += -DWEBRTC_HAS_NEON
  135. endif
  136. endif
  137. endif