1*a58d3d2aSXin Li# Provide the full test output for failed tests when using the parallel 2*a58d3d2aSXin Li# test suite (which is enabled by default with automake 1.13+). 3*a58d3d2aSXin Liexport VERBOSE = yes 4*a58d3d2aSXin Li 5*a58d3d2aSXin LiAUTOMAKE_OPTIONS = subdir-objects 6*a58d3d2aSXin LiACLOCAL_AMFLAGS = -I m4 7*a58d3d2aSXin Li 8*a58d3d2aSXin Lilib_LTLIBRARIES = libopus.la 9*a58d3d2aSXin Li 10*a58d3d2aSXin LiDIST_SUBDIRS = doc 11*a58d3d2aSXin Li 12*a58d3d2aSXin LiAM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/celt -I$(top_srcdir)/silk \ 13*a58d3d2aSXin Li -I$(top_srcdir)/silk/float -I$(top_srcdir)/silk/fixed $(NE10_CFLAGS) \ 14*a58d3d2aSXin Li -I$(top_srcdir)/dnn 15*a58d3d2aSXin Li 16*a58d3d2aSXin Liinclude celt_sources.mk 17*a58d3d2aSXin Liinclude lpcnet_sources.mk 18*a58d3d2aSXin Liinclude silk_sources.mk 19*a58d3d2aSXin Liinclude opus_sources.mk 20*a58d3d2aSXin Li 21*a58d3d2aSXin LiLPCNET_SOURCES = 22*a58d3d2aSXin Liif ENABLE_DEEP_PLC 23*a58d3d2aSXin LiLPCNET_SOURCES += $(DEEP_PLC_SOURCES) 24*a58d3d2aSXin Liendif 25*a58d3d2aSXin Liif ENABLE_DRED 26*a58d3d2aSXin LiLPCNET_SOURCES += $(DRED_SOURCES) 27*a58d3d2aSXin Liendif 28*a58d3d2aSXin Liif ENABLE_OSCE 29*a58d3d2aSXin LiLPCNET_SOURCES += $(OSCE_SOURCES) 30*a58d3d2aSXin Liendif 31*a58d3d2aSXin Li 32*a58d3d2aSXin Liif FIXED_POINT 33*a58d3d2aSXin LiSILK_SOURCES += $(SILK_SOURCES_FIXED) 34*a58d3d2aSXin Liif HAVE_SSE4_1 35*a58d3d2aSXin LiSILK_SOURCES += $(SILK_SOURCES_SSE4_1) $(SILK_SOURCES_FIXED_SSE4_1) 36*a58d3d2aSXin Liendif 37*a58d3d2aSXin Liif HAVE_ARM_NEON_INTR 38*a58d3d2aSXin LiSILK_SOURCES += $(SILK_SOURCES_FIXED_ARM_NEON_INTR) 39*a58d3d2aSXin Liendif 40*a58d3d2aSXin Lielse 41*a58d3d2aSXin LiSILK_SOURCES += $(SILK_SOURCES_FLOAT) 42*a58d3d2aSXin Liif HAVE_SSE4_1 43*a58d3d2aSXin LiSILK_SOURCES += $(SILK_SOURCES_SSE4_1) 44*a58d3d2aSXin Liendif 45*a58d3d2aSXin Liif HAVE_AVX2 46*a58d3d2aSXin LiSILK_SOURCES += $(SILK_SOURCES_FLOAT_AVX2) 47*a58d3d2aSXin Liendif 48*a58d3d2aSXin Liendif 49*a58d3d2aSXin Li 50*a58d3d2aSXin Liif DISABLE_FLOAT_API 51*a58d3d2aSXin Lielse 52*a58d3d2aSXin LiOPUS_SOURCES += $(OPUS_SOURCES_FLOAT) 53*a58d3d2aSXin Liendif 54*a58d3d2aSXin Li 55*a58d3d2aSXin Liif CPU_X86 56*a58d3d2aSXin Liif HAVE_RTCD 57*a58d3d2aSXin LiCELT_SOURCES += $(CELT_SOURCES_X86_RTCD) 58*a58d3d2aSXin LiSILK_SOURCES += $(SILK_SOURCES_X86_RTCD) 59*a58d3d2aSXin Liif ENABLE_DEEP_PLC 60*a58d3d2aSXin LiLPCNET_SOURCES += $(DNN_SOURCES_X86_RTCD) 61*a58d3d2aSXin Liendif 62*a58d3d2aSXin Liendif 63*a58d3d2aSXin Liif HAVE_SSE 64*a58d3d2aSXin LiCELT_SOURCES += $(CELT_SOURCES_SSE) 65*a58d3d2aSXin Liendif 66*a58d3d2aSXin Liif HAVE_SSE2 67*a58d3d2aSXin LiCELT_SOURCES += $(CELT_SOURCES_SSE2) 68*a58d3d2aSXin Liif ENABLE_DEEP_PLC 69*a58d3d2aSXin LiLPCNET_SOURCES += $(DNN_SOURCES_SSE2) 70*a58d3d2aSXin Liendif 71*a58d3d2aSXin Liendif 72*a58d3d2aSXin Liif HAVE_SSE4_1 73*a58d3d2aSXin LiCELT_SOURCES += $(CELT_SOURCES_SSE4_1) 74*a58d3d2aSXin Liif ENABLE_DEEP_PLC 75*a58d3d2aSXin LiLPCNET_SOURCES += $(DNN_SOURCES_SSE4_1) 76*a58d3d2aSXin Liendif 77*a58d3d2aSXin Liendif 78*a58d3d2aSXin Liif HAVE_AVX2 79*a58d3d2aSXin LiSILK_SOURCES += $(SILK_SOURCES_AVX2) 80*a58d3d2aSXin LiCELT_SOURCES += $(CELT_SOURCES_AVX2) 81*a58d3d2aSXin Liif ENABLE_DEEP_PLC 82*a58d3d2aSXin LiLPCNET_SOURCES += $(DNN_SOURCES_AVX2) 83*a58d3d2aSXin Liendif 84*a58d3d2aSXin Liendif 85*a58d3d2aSXin Liendif 86*a58d3d2aSXin Li 87*a58d3d2aSXin Liif CPU_ARM 88*a58d3d2aSXin Liif HAVE_RTCD 89*a58d3d2aSXin LiCELT_SOURCES += $(CELT_SOURCES_ARM_RTCD) 90*a58d3d2aSXin LiSILK_SOURCES += $(SILK_SOURCES_ARM_RTCD) 91*a58d3d2aSXin Liif ENABLE_DEEP_PLC 92*a58d3d2aSXin LiLPCNET_SOURCES += $(DNN_SOURCES_ARM_RTCD) 93*a58d3d2aSXin Liendif 94*a58d3d2aSXin Liendif 95*a58d3d2aSXin Li 96*a58d3d2aSXin Liif ENABLE_DEEP_PLC 97*a58d3d2aSXin Liif HAVE_ARM_DOTPROD 98*a58d3d2aSXin LiLPCNET_SOURCES += $(DNN_SOURCES_DOTPROD) 99*a58d3d2aSXin Liendif 100*a58d3d2aSXin Liif HAVE_ARM_NEON_INTR 101*a58d3d2aSXin LiLPCNET_SOURCES += $(DNN_SOURCES_NEON) 102*a58d3d2aSXin Liendif 103*a58d3d2aSXin Liendif 104*a58d3d2aSXin Li 105*a58d3d2aSXin Liif HAVE_ARM_NEON_INTR 106*a58d3d2aSXin LiCELT_SOURCES += $(CELT_SOURCES_ARM_NEON_INTR) 107*a58d3d2aSXin LiSILK_SOURCES += $(SILK_SOURCES_ARM_NEON_INTR) 108*a58d3d2aSXin Liendif 109*a58d3d2aSXin Li 110*a58d3d2aSXin Liif HAVE_ARM_NE10 111*a58d3d2aSXin LiCELT_SOURCES += $(CELT_SOURCES_ARM_NE10) 112*a58d3d2aSXin Liendif 113*a58d3d2aSXin Li 114*a58d3d2aSXin Liif OPUS_ARM_EXTERNAL_ASM 115*a58d3d2aSXin Linoinst_LTLIBRARIES = libarmasm.la 116*a58d3d2aSXin Lilibarmasm_la_SOURCES = $(CELT_SOURCES_ARM_ASM:.s=-gnu.S) 117*a58d3d2aSXin LiBUILT_SOURCES = $(CELT_SOURCES_ARM_ASM:.s=-gnu.S) \ 118*a58d3d2aSXin Li $(CELT_AM_SOURCES_ARM_ASM:.s.in=.s) \ 119*a58d3d2aSXin Li $(CELT_AM_SOURCES_ARM_ASM:.s.in=-gnu.S) 120*a58d3d2aSXin Liendif 121*a58d3d2aSXin Liendif 122*a58d3d2aSXin Li 123*a58d3d2aSXin LiCLEANFILES = $(CELT_SOURCES_ARM_ASM:.s=-gnu.S) \ 124*a58d3d2aSXin Li $(CELT_AM_SOURCES_ARM_ASM:.s.in=-gnu.S) 125*a58d3d2aSXin Li 126*a58d3d2aSXin Liinclude celt_headers.mk 127*a58d3d2aSXin Liinclude lpcnet_headers.mk 128*a58d3d2aSXin Liinclude silk_headers.mk 129*a58d3d2aSXin Liinclude opus_headers.mk 130*a58d3d2aSXin Li 131*a58d3d2aSXin LiLPCNET_HEAD = 132*a58d3d2aSXin Liif ENABLE_DEEP_PLC 133*a58d3d2aSXin LiLPCNET_HEAD += $(DEEP_PLC_HEAD) 134*a58d3d2aSXin Liendif 135*a58d3d2aSXin Liif ENABLE_DRED 136*a58d3d2aSXin LiLPCNET_HEAD += $(DRED_HEAD) 137*a58d3d2aSXin Liendif 138*a58d3d2aSXin Liif ENABLE_OSCE 139*a58d3d2aSXin LiLPCNET_HEAD += $(OSCE_HEAD) 140*a58d3d2aSXin Liendif 141*a58d3d2aSXin Liif ENABLE_LOSSGEN 142*a58d3d2aSXin LiLPCNET_HEAD += $(LOSSGEN_HEAD) 143*a58d3d2aSXin Liendif 144*a58d3d2aSXin Li 145*a58d3d2aSXin Lilibopus_la_SOURCES = $(CELT_SOURCES) $(SILK_SOURCES) $(LPCNET_SOURCES) $(OPUS_SOURCES) 146*a58d3d2aSXin Lilibopus_la_LDFLAGS = -no-undefined -version-info @OPUS_LT_CURRENT@:@OPUS_LT_REVISION@:@OPUS_LT_AGE@ 147*a58d3d2aSXin Lilibopus_la_LIBADD = $(NE10_LIBS) $(LIBM) 148*a58d3d2aSXin Liif OPUS_ARM_EXTERNAL_ASM 149*a58d3d2aSXin Lilibopus_la_LIBADD += libarmasm.la 150*a58d3d2aSXin Liendif 151*a58d3d2aSXin Li 152*a58d3d2aSXin Lipkginclude_HEADERS = include/opus.h include/opus_multistream.h include/opus_types.h include/opus_defines.h include/opus_projection.h 153*a58d3d2aSXin Li 154*a58d3d2aSXin Linoinst_HEADERS = $(OPUS_HEAD) $(SILK_HEAD) $(CELT_HEAD) $(LPCNET_HEAD) 155*a58d3d2aSXin Li 156*a58d3d2aSXin Liif EXTRA_PROGRAMS 157*a58d3d2aSXin Linoinst_PROGRAMS = celt/tests/test_unit_cwrs32 \ 158*a58d3d2aSXin Li celt/tests/test_unit_dft \ 159*a58d3d2aSXin Li celt/tests/test_unit_entropy \ 160*a58d3d2aSXin Li celt/tests/test_unit_laplace \ 161*a58d3d2aSXin Li celt/tests/test_unit_mathops \ 162*a58d3d2aSXin Li celt/tests/test_unit_mdct \ 163*a58d3d2aSXin Li celt/tests/test_unit_rotation \ 164*a58d3d2aSXin Li celt/tests/test_unit_types \ 165*a58d3d2aSXin Li opus_compare \ 166*a58d3d2aSXin Li opus_demo \ 167*a58d3d2aSXin Li repacketizer_demo \ 168*a58d3d2aSXin Li silk/tests/test_unit_LPC_inv_pred_gain \ 169*a58d3d2aSXin Li tests/test_opus_api \ 170*a58d3d2aSXin Li tests/test_opus_decode \ 171*a58d3d2aSXin Li tests/test_opus_dred \ 172*a58d3d2aSXin Li tests/test_opus_encode \ 173*a58d3d2aSXin Li tests/test_opus_extensions \ 174*a58d3d2aSXin Li tests/test_opus_padding \ 175*a58d3d2aSXin Li tests/test_opus_projection \ 176*a58d3d2aSXin Li trivial_example 177*a58d3d2aSXin Li 178*a58d3d2aSXin LiTESTS = celt/tests/test_unit_cwrs32 \ 179*a58d3d2aSXin Li celt/tests/test_unit_dft \ 180*a58d3d2aSXin Li celt/tests/test_unit_entropy \ 181*a58d3d2aSXin Li celt/tests/test_unit_laplace \ 182*a58d3d2aSXin Li celt/tests/test_unit_mathops \ 183*a58d3d2aSXin Li celt/tests/test_unit_mdct \ 184*a58d3d2aSXin Li celt/tests/test_unit_rotation \ 185*a58d3d2aSXin Li celt/tests/test_unit_types \ 186*a58d3d2aSXin Li silk/tests/test_unit_LPC_inv_pred_gain \ 187*a58d3d2aSXin Li tests/test_opus_api \ 188*a58d3d2aSXin Li tests/test_opus_decode \ 189*a58d3d2aSXin Li tests/test_opus_encode \ 190*a58d3d2aSXin Li tests/test_opus_extensions \ 191*a58d3d2aSXin Li tests/test_opus_padding \ 192*a58d3d2aSXin Li tests/test_opus_projection 193*a58d3d2aSXin Li 194*a58d3d2aSXin Liopus_demo_SOURCES = src/opus_demo.c 195*a58d3d2aSXin Liif ENABLE_LOSSGEN 196*a58d3d2aSXin Liopus_demo_SOURCES += $(LOSSGEN_SOURCES) 197*a58d3d2aSXin Liendif 198*a58d3d2aSXin Li 199*a58d3d2aSXin Liopus_demo_LDADD = libopus.la $(NE10_LIBS) $(LIBM) 200*a58d3d2aSXin Li 201*a58d3d2aSXin Lirepacketizer_demo_SOURCES = src/repacketizer_demo.c 202*a58d3d2aSXin Li 203*a58d3d2aSXin Lirepacketizer_demo_LDADD = libopus.la $(NE10_LIBS) $(LIBM) 204*a58d3d2aSXin Li 205*a58d3d2aSXin Liopus_compare_SOURCES = src/opus_compare.c 206*a58d3d2aSXin Liopus_compare_LDADD = $(LIBM) 207*a58d3d2aSXin Li 208*a58d3d2aSXin Litrivial_example_SOURCES = doc/trivial_example.c 209*a58d3d2aSXin Litrivial_example_LDADD = libopus.la $(LIBM) 210*a58d3d2aSXin Li 211*a58d3d2aSXin Litests_test_opus_api_SOURCES = tests/test_opus_api.c tests/test_opus_common.h 212*a58d3d2aSXin Litests_test_opus_api_LDADD = libopus.la $(NE10_LIBS) $(LIBM) 213*a58d3d2aSXin Li 214*a58d3d2aSXin Litests_test_opus_encode_SOURCES = tests/test_opus_encode.c tests/opus_encode_regressions.c tests/test_opus_common.h 215*a58d3d2aSXin Litests_test_opus_encode_LDADD = libopus.la $(NE10_LIBS) $(LIBM) 216*a58d3d2aSXin Li 217*a58d3d2aSXin Litests_test_opus_decode_SOURCES = tests/test_opus_decode.c tests/test_opus_common.h 218*a58d3d2aSXin Litests_test_opus_decode_LDADD = libopus.la $(NE10_LIBS) $(LIBM) 219*a58d3d2aSXin Li 220*a58d3d2aSXin Litests_test_opus_padding_SOURCES = tests/test_opus_padding.c tests/test_opus_common.h 221*a58d3d2aSXin Litests_test_opus_padding_LDADD = libopus.la $(NE10_LIBS) $(LIBM) 222*a58d3d2aSXin Li 223*a58d3d2aSXin Litests_test_opus_dred_SOURCES = tests/test_opus_dred.c tests/test_opus_common.h 224*a58d3d2aSXin Litests_test_opus_dred_LDADD = libopus.la $(NE10_LIBS) $(LIBM) 225*a58d3d2aSXin Li 226*a58d3d2aSXin LiCELT_OBJ = $(CELT_SOURCES:.c=.lo) 227*a58d3d2aSXin LiSILK_OBJ = $(SILK_SOURCES:.c=.lo) 228*a58d3d2aSXin LiLPCNET_OBJ = $(LPCNET_SOURCES:.c=.lo) 229*a58d3d2aSXin LiOPUS_OBJ = $(OPUS_SOURCES:.c=.lo) 230*a58d3d2aSXin Li 231*a58d3d2aSXin Litests_test_opus_extensions_SOURCES = tests/test_opus_extensions.c tests/test_opus_common.h 232*a58d3d2aSXin Litests_test_opus_extensions_LDADD = $(OPUS_OBJ) $(SILK_OBJ) $(LPCNET_OBJ) $(CELT_OBJ) $(NE10_LIBS) $(LIBM) 233*a58d3d2aSXin Liif OPUS_ARM_EXTERNAL_ASM 234*a58d3d2aSXin Litests_test_opus_extensions_LDADD += libarmasm.la 235*a58d3d2aSXin Liendif 236*a58d3d2aSXin Li 237*a58d3d2aSXin Litests_test_opus_projection_SOURCES = tests/test_opus_projection.c tests/test_opus_common.h 238*a58d3d2aSXin Litests_test_opus_projection_LDADD = $(OPUS_OBJ) $(SILK_OBJ) $(LPCNET_OBJ) $(CELT_OBJ) $(NE10_LIBS) $(LIBM) 239*a58d3d2aSXin Liif OPUS_ARM_EXTERNAL_ASM 240*a58d3d2aSXin Litests_test_opus_projection_LDADD += libarmasm.la 241*a58d3d2aSXin Liendif 242*a58d3d2aSXin Li 243*a58d3d2aSXin Lisilk_tests_test_unit_LPC_inv_pred_gain_SOURCES = silk/tests/test_unit_LPC_inv_pred_gain.c 244*a58d3d2aSXin Lisilk_tests_test_unit_LPC_inv_pred_gain_LDADD = $(SILK_OBJ) $(LPCNET_OBJ) $(CELT_OBJ) $(NE10_LIBS) $(LIBM) 245*a58d3d2aSXin Liif OPUS_ARM_EXTERNAL_ASM 246*a58d3d2aSXin Lisilk_tests_test_unit_LPC_inv_pred_gain_LDADD += libarmasm.la 247*a58d3d2aSXin Liendif 248*a58d3d2aSXin Li 249*a58d3d2aSXin Licelt_tests_test_unit_cwrs32_SOURCES = celt/tests/test_unit_cwrs32.c 250*a58d3d2aSXin Licelt_tests_test_unit_cwrs32_LDADD = $(LIBM) 251*a58d3d2aSXin Li 252*a58d3d2aSXin Licelt_tests_test_unit_dft_SOURCES = celt/tests/test_unit_dft.c 253*a58d3d2aSXin Licelt_tests_test_unit_dft_LDADD = $(CELT_OBJ) $(LPCNET_OBJ) $(NE10_LIBS) $(LIBM) 254*a58d3d2aSXin Liif OPUS_ARM_EXTERNAL_ASM 255*a58d3d2aSXin Licelt_tests_test_unit_dft_LDADD += libarmasm.la 256*a58d3d2aSXin Liendif 257*a58d3d2aSXin Li 258*a58d3d2aSXin Licelt_tests_test_unit_entropy_SOURCES = celt/tests/test_unit_entropy.c 259*a58d3d2aSXin Licelt_tests_test_unit_entropy_LDADD = $(LIBM) 260*a58d3d2aSXin Li 261*a58d3d2aSXin Licelt_tests_test_unit_laplace_SOURCES = celt/tests/test_unit_laplace.c 262*a58d3d2aSXin Licelt_tests_test_unit_laplace_LDADD = $(LIBM) 263*a58d3d2aSXin Li 264*a58d3d2aSXin Licelt_tests_test_unit_mathops_SOURCES = celt/tests/test_unit_mathops.c 265*a58d3d2aSXin Licelt_tests_test_unit_mathops_LDADD = $(CELT_OBJ) $(LPCNET_OBJ) $(NE10_LIBS) $(LIBM) 266*a58d3d2aSXin Liif OPUS_ARM_EXTERNAL_ASM 267*a58d3d2aSXin Licelt_tests_test_unit_mathops_LDADD += libarmasm.la 268*a58d3d2aSXin Liendif 269*a58d3d2aSXin Li 270*a58d3d2aSXin Licelt_tests_test_unit_mdct_SOURCES = celt/tests/test_unit_mdct.c 271*a58d3d2aSXin Licelt_tests_test_unit_mdct_LDADD = $(CELT_OBJ) $(LPCNET_OBJ) $(NE10_LIBS) $(LIBM) 272*a58d3d2aSXin Liif OPUS_ARM_EXTERNAL_ASM 273*a58d3d2aSXin Licelt_tests_test_unit_mdct_LDADD += libarmasm.la 274*a58d3d2aSXin Liendif 275*a58d3d2aSXin Li 276*a58d3d2aSXin Licelt_tests_test_unit_rotation_SOURCES = celt/tests/test_unit_rotation.c 277*a58d3d2aSXin Licelt_tests_test_unit_rotation_LDADD = $(CELT_OBJ) $(LPCNET_OBJ) $(NE10_LIBS) $(LIBM) 278*a58d3d2aSXin Liif OPUS_ARM_EXTERNAL_ASM 279*a58d3d2aSXin Licelt_tests_test_unit_rotation_LDADD += libarmasm.la 280*a58d3d2aSXin Liendif 281*a58d3d2aSXin Li 282*a58d3d2aSXin Licelt_tests_test_unit_types_SOURCES = celt/tests/test_unit_types.c 283*a58d3d2aSXin Licelt_tests_test_unit_types_LDADD = $(LIBM) 284*a58d3d2aSXin Liendif 285*a58d3d2aSXin Li 286*a58d3d2aSXin Liif CUSTOM_MODES 287*a58d3d2aSXin Lipkginclude_HEADERS += include/opus_custom.h 288*a58d3d2aSXin Liif EXTRA_PROGRAMS 289*a58d3d2aSXin Linoinst_PROGRAMS += opus_custom_demo 290*a58d3d2aSXin Liopus_custom_demo_SOURCES = celt/opus_custom_demo.c 291*a58d3d2aSXin Liopus_custom_demo_LDADD = libopus.la $(LIBM) 292*a58d3d2aSXin Liendif 293*a58d3d2aSXin Liendif 294*a58d3d2aSXin Li 295*a58d3d2aSXin Liif EXTRA_PROGRAMS 296*a58d3d2aSXin Liif ENABLE_DEEP_PLC 297*a58d3d2aSXin Linoinst_PROGRAMS += lpcnet_demo dump_data dump_weights_blob 298*a58d3d2aSXin Lilpcnet_demo_SOURCES = dnn/lpcnet_demo.c 299*a58d3d2aSXin Lilpcnet_demo_LDADD = $(LPCNET_OBJ) $(CELT_OBJ) $(LIBM) 300*a58d3d2aSXin Li 301*a58d3d2aSXin Lidump_data_SOURCES = dnn/dump_data.c 302*a58d3d2aSXin Lidump_data_LDADD = $(LPCNET_OBJ) $(CELT_OBJ) $(LIBM) 303*a58d3d2aSXin Li 304*a58d3d2aSXin Lidump_weights_blob_SOURCES = dnn/write_lpcnet_weights.c 305*a58d3d2aSXin Lidump_weights_blob_LDADD = $(LIBM) 306*a58d3d2aSXin Lidump_weights_blob_CFLAGS = $(AM_CFLAGS) -DDUMP_BINARY_WEIGHTS 307*a58d3d2aSXin Liendif 308*a58d3d2aSXin Liif ENABLE_DRED 309*a58d3d2aSXin LiTESTS += tests/test_opus_dred 310*a58d3d2aSXin Liendif 311*a58d3d2aSXin Li 312*a58d3d2aSXin Liif ENABLE_LOSSGEN 313*a58d3d2aSXin Linoinst_PROGRAMS += lossgen_demo 314*a58d3d2aSXin Lilossgen_demo_SOURCES = dnn/lossgen_demo.c $(LOSSGEN_SOURCES) 315*a58d3d2aSXin Lilossgen_demo_LDADD = $(LIBM) 316*a58d3d2aSXin Liendif 317*a58d3d2aSXin Li 318*a58d3d2aSXin Liendif 319*a58d3d2aSXin Li 320*a58d3d2aSXin Li 321*a58d3d2aSXin LiEXTRA_DIST = opus.pc.in \ 322*a58d3d2aSXin Li opus-uninstalled.pc.in \ 323*a58d3d2aSXin Li opus.m4 \ 324*a58d3d2aSXin Li Makefile.mips \ 325*a58d3d2aSXin Li Makefile.unix \ 326*a58d3d2aSXin Li CMakeLists.txt \ 327*a58d3d2aSXin Li cmake/CFeatureCheck.cmake \ 328*a58d3d2aSXin Li cmake/OpusBuildtype.cmake \ 329*a58d3d2aSXin Li cmake/OpusConfig.cmake \ 330*a58d3d2aSXin Li cmake/OpusConfig.cmake.in \ 331*a58d3d2aSXin Li cmake/OpusFunctions.cmake \ 332*a58d3d2aSXin Li cmake/OpusPackageVersion.cmake \ 333*a58d3d2aSXin Li cmake/OpusSources.cmake \ 334*a58d3d2aSXin Li cmake/RunTest.cmake \ 335*a58d3d2aSXin Li cmake/config.h.cmake.in \ 336*a58d3d2aSXin Li cmake/vla.c \ 337*a58d3d2aSXin Li cmake/cpu_info_by_asm.c \ 338*a58d3d2aSXin Li cmake/cpu_info_by_c.c \ 339*a58d3d2aSXin Li meson/get-version.py \ 340*a58d3d2aSXin Li meson/read-sources-list.py \ 341*a58d3d2aSXin Li meson.build \ 342*a58d3d2aSXin Li meson_options.txt \ 343*a58d3d2aSXin Li include/meson.build \ 344*a58d3d2aSXin Li celt/meson.build \ 345*a58d3d2aSXin Li celt/tests/meson.build \ 346*a58d3d2aSXin Li silk/meson.build \ 347*a58d3d2aSXin Li silk/tests/meson.build \ 348*a58d3d2aSXin Li src/meson.build \ 349*a58d3d2aSXin Li tests/meson.build \ 350*a58d3d2aSXin Li doc/meson.build \ 351*a58d3d2aSXin Li tests/run_vectors.sh \ 352*a58d3d2aSXin Li celt/arm/arm2gnu.pl \ 353*a58d3d2aSXin Li celt/arm/celt_pitch_xcorr_arm.s 354*a58d3d2aSXin Li 355*a58d3d2aSXin Lipkgconfigdir = $(libdir)/pkgconfig 356*a58d3d2aSXin Lipkgconfig_DATA = opus.pc 357*a58d3d2aSXin Li 358*a58d3d2aSXin Lim4datadir = $(datadir)/aclocal 359*a58d3d2aSXin Lim4data_DATA = opus.m4 360*a58d3d2aSXin Li 361*a58d3d2aSXin Li# Targets to build and install just the library without the docs 362*a58d3d2aSXin Liopus check-opus install-opus: export NO_DOXYGEN = 1 363*a58d3d2aSXin Li 364*a58d3d2aSXin Liopus: all 365*a58d3d2aSXin Licheck-opus: check 366*a58d3d2aSXin Liinstall-opus: install 367*a58d3d2aSXin Li 368*a58d3d2aSXin Li 369*a58d3d2aSXin Li# Or just the docs 370*a58d3d2aSXin Lidocs: 371*a58d3d2aSXin Li ( cd doc && $(MAKE) $(AM_MAKEFLAGS) ) 372*a58d3d2aSXin Li 373*a58d3d2aSXin Liinstall-docs: 374*a58d3d2aSXin Li ( cd doc && $(MAKE) $(AM_MAKEFLAGS) install ) 375*a58d3d2aSXin Li 376*a58d3d2aSXin Li 377*a58d3d2aSXin Li# Or everything (by default) 378*a58d3d2aSXin Liall-local: 379*a58d3d2aSXin Li @[ -n "$(NO_DOXYGEN)" ] || ( cd doc && $(MAKE) $(AM_MAKEFLAGS) ) 380*a58d3d2aSXin Li 381*a58d3d2aSXin Liinstall-data-local: 382*a58d3d2aSXin Li @[ -n "$(NO_DOXYGEN)" ] || ( cd doc && $(MAKE) $(AM_MAKEFLAGS) install ) 383*a58d3d2aSXin Li 384*a58d3d2aSXin Liclean-local: 385*a58d3d2aSXin Li -( cd doc && $(MAKE) $(AM_MAKEFLAGS) clean ) 386*a58d3d2aSXin Li 387*a58d3d2aSXin Liuninstall-local: 388*a58d3d2aSXin Li ( cd doc && $(MAKE) $(AM_MAKEFLAGS) uninstall ) 389*a58d3d2aSXin Li 390*a58d3d2aSXin Li 391*a58d3d2aSXin Li# We check this every time make is run, with configure.ac being touched to 392*a58d3d2aSXin Li# trigger an update of the build system files if update_version changes the 393*a58d3d2aSXin Li# current PACKAGE_VERSION (or if package_version was modified manually by a 394*a58d3d2aSXin Li# user with either AUTO_UPDATE=no or no update_version script present - the 395*a58d3d2aSXin Li# latter being the normal case for tarball releases). 396*a58d3d2aSXin Li# 397*a58d3d2aSXin Li# We can't just add the package_version file to CONFIGURE_DEPENDENCIES since 398*a58d3d2aSXin Li# simply running autoconf will not actually regenerate configure for us when 399*a58d3d2aSXin Li# the content of that file changes (due to autoconf dependency checking not 400*a58d3d2aSXin Li# knowing about that without us creating yet another file for it to include). 401*a58d3d2aSXin Li# 402*a58d3d2aSXin Li# The MAKECMDGOALS check is a gnu-make'ism, but will degrade 'gracefully' for 403*a58d3d2aSXin Li# makes that don't support it. The only loss of functionality is not forcing 404*a58d3d2aSXin Li# an update of package_version for `make dist` if AUTO_UPDATE=no, but that is 405*a58d3d2aSXin Li# unlikely to be a real problem for any real user. 406*a58d3d2aSXin Li$(top_srcdir)/configure.ac: force 407*a58d3d2aSXin Li @case "$(MAKECMDGOALS)" in \ 408*a58d3d2aSXin Li dist-hook) exit 0 ;; \ 409*a58d3d2aSXin Li dist-* | dist | distcheck | distclean) _arg=release ;; \ 410*a58d3d2aSXin Li esac; \ 411*a58d3d2aSXin Li if ! $(top_srcdir)/update_version $$_arg 2> /dev/null; then \ 412*a58d3d2aSXin Li if [ ! -e $(top_srcdir)/package_version ]; then \ 413*a58d3d2aSXin Li echo 'PACKAGE_VERSION="unknown"' > $(top_srcdir)/package_version; \ 414*a58d3d2aSXin Li fi; \ 415*a58d3d2aSXin Li . $(top_srcdir)/package_version || exit 1; \ 416*a58d3d2aSXin Li [ "$(PACKAGE_VERSION)" != "$$PACKAGE_VERSION" ] || exit 0; \ 417*a58d3d2aSXin Li fi; \ 418*a58d3d2aSXin Li touch $@ 419*a58d3d2aSXin Li 420*a58d3d2aSXin Liforce: 421*a58d3d2aSXin Li 422*a58d3d2aSXin Li# Create a minimal package_version file when make dist is run. 423*a58d3d2aSXin Lidist-hook: 424*a58d3d2aSXin Li echo 'PACKAGE_VERSION="$(PACKAGE_VERSION)"' > $(top_distdir)/package_version 425*a58d3d2aSXin Li 426*a58d3d2aSXin Li 427*a58d3d2aSXin Li.PHONY: opus check-opus install-opus docs install-docs 428*a58d3d2aSXin Li 429*a58d3d2aSXin Li# automake doesn't do dependency tracking for asm files, that I can tell 430*a58d3d2aSXin Li$(CELT_SOURCES_ARM_ASM:%.s=%-gnu.S): celt/arm/armopts-gnu.S 431*a58d3d2aSXin Li$(CELT_SOURCES_ARM_ASM:%.s=%-gnu.S): $(top_srcdir)/celt/arm/arm2gnu.pl 432*a58d3d2aSXin Li 433*a58d3d2aSXin Li# convert ARM asm to GNU as format 434*a58d3d2aSXin Li%-gnu.S: $(top_srcdir)/%.s 435*a58d3d2aSXin Li $(top_srcdir)/celt/arm/arm2gnu.pl @ARM2GNU_PARAMS@ < $< > $@ 436*a58d3d2aSXin Li# For autoconf-modified sources (e.g., armopts.s) 437*a58d3d2aSXin Li%-gnu.S: %.s 438*a58d3d2aSXin Li $(top_srcdir)/celt/arm/arm2gnu.pl @ARM2GNU_PARAMS@ < $< > $@ 439*a58d3d2aSXin Li 440*a58d3d2aSXin LiOPT_UNIT_TEST_OBJ = $(celt_tests_test_unit_mathops_SOURCES:.c=.o) \ 441*a58d3d2aSXin Li $(celt_tests_test_unit_rotation_SOURCES:.c=.o) \ 442*a58d3d2aSXin Li $(celt_tests_test_unit_mdct_SOURCES:.c=.o) \ 443*a58d3d2aSXin Li $(celt_tests_test_unit_dft_SOURCES:.c=.o) \ 444*a58d3d2aSXin Li $(silk_tests_test_unit_LPC_inv_pred_gain_SOURCES:.c=.o) 445*a58d3d2aSXin Li 446*a58d3d2aSXin Liif HAVE_SSE 447*a58d3d2aSXin LiSSE_OBJ = $(CELT_SOURCES_SSE:.c=.lo) 448*a58d3d2aSXin Li$(SSE_OBJ): CFLAGS += $(OPUS_X86_SSE_CFLAGS) 449*a58d3d2aSXin Liendif 450*a58d3d2aSXin Li 451*a58d3d2aSXin Liif HAVE_SSE2 452*a58d3d2aSXin LiSSE2_OBJ = $(CELT_SOURCES_SSE2:.c=.lo) \ 453*a58d3d2aSXin Li $(DNN_SOURCES_SSE2:.c=.lo) 454*a58d3d2aSXin Li$(SSE2_OBJ): CFLAGS += $(OPUS_X86_SSE2_CFLAGS) 455*a58d3d2aSXin Liendif 456*a58d3d2aSXin Li 457*a58d3d2aSXin Liif HAVE_SSE4_1 458*a58d3d2aSXin LiSSE4_1_OBJ = $(CELT_SOURCES_SSE4_1:.c=.lo) \ 459*a58d3d2aSXin Li $(DNN_SOURCES_SSE4_1:.c=.lo) \ 460*a58d3d2aSXin Li $(SILK_SOURCES_SSE4_1:.c=.lo) \ 461*a58d3d2aSXin Li $(SILK_SOURCES_FIXED_SSE4_1:.c=.lo) 462*a58d3d2aSXin Li$(SSE4_1_OBJ): CFLAGS += $(OPUS_X86_SSE4_1_CFLAGS) 463*a58d3d2aSXin Liendif 464*a58d3d2aSXin Li 465*a58d3d2aSXin Liif HAVE_AVX2 466*a58d3d2aSXin LiAVX2_OBJ = $(CELT_SOURCES_AVX2:.c=.lo) \ 467*a58d3d2aSXin Li $(SILK_SOURCES_AVX2:.c=.lo) \ 468*a58d3d2aSXin Li $(SILK_SOURCES_FLOAT_AVX2:.c=.lo) \ 469*a58d3d2aSXin Li $(DNN_SOURCES_AVX2:.c=.lo) 470*a58d3d2aSXin Li$(AVX2_OBJ): CFLAGS += $(OPUS_X86_AVX2_CFLAGS) 471*a58d3d2aSXin Liendif 472*a58d3d2aSXin Li 473*a58d3d2aSXin Liif HAVE_ARM_NEON_INTR 474*a58d3d2aSXin LiARM_NEON_INTR_OBJ = $(CELT_SOURCES_ARM_NEON_INTR:.c=.lo) \ 475*a58d3d2aSXin Li $(SILK_SOURCES_ARM_NEON_INTR:.c=.lo) \ 476*a58d3d2aSXin Li $(DNN_SOURCES_NEON:.c=.lo) \ 477*a58d3d2aSXin Li $(SILK_SOURCES_FIXED_ARM_NEON_INTR:.c=.lo) 478*a58d3d2aSXin Li$(ARM_NEON_INTR_OBJ): CFLAGS += \ 479*a58d3d2aSXin Li $(OPUS_ARM_NEON_INTR_CFLAGS) $(NE10_CFLAGS) 480*a58d3d2aSXin Liendif 481*a58d3d2aSXin Li 482*a58d3d2aSXin Liif HAVE_ARM_DOTPROD 483*a58d3d2aSXin LiARM_DOTPROD_OBJ = $(DNN_SOURCES_DOTPROD:.c=.lo) 484*a58d3d2aSXin Li$(ARM_DOTPROD_OBJ): CFLAGS += $(ARM_DOTPROD_INTR_CFLAGS) 485*a58d3d2aSXin Liendif 486