blob: b8c1f5d4e1115d61f2950f73a10bb0a3513a026e [file] [log] [blame]
xingri.gao87c7cc42023-12-26 09:18:33 +00001AML_BUILD_DIR?=.
Tim Yao72bc0fb2019-12-03 11:04:19 -08002
xingri.gao87c7cc42023-12-26 09:18:33 +00003SRCS=src/primitives.c \
4 src/resampler.c \
5 src/speexresample/resample.c
6SRCPPS = src/IpcBuffer/IpcBuffer.cpp
7
8CUTILS_SRCS=src/cutils/strlcpy.c
9CUTILS_SRCPPS = src/cutils/hashmap.cpp \
10 src/cutils/properties.cpp \
11 src/cutils/str_parms.cpp \
12 src/cutils/threads.cpp
Tim Yao72bc0fb2019-12-03 11:04:19 -080013
Blance Tangd87a3fd2021-02-11 12:15:08 +080014#Allow to configure NEON support of SPEEX
15TOOLCHAIN_NEON_SUPPORT ?= y
16ifeq ($(TOOLCHAIN_NEON_SUPPORT),y)
17TOOLCHAIN_NEON_FLAGS = -mfpu=neon -D_USE_NEON
18endif
19
20CFLAGS+=-fPIC -O2 -I./include -I./include/speex -I./include/IpcBuffer -I. -I./src $(TOOLCHAIN_NEON_FLAGS) -DNDEBUG -DFIXED_POINT -DRESAMPLE_FORCE_FULL_SINC_TABLE -DEXPORT=
Tim Yao72bc0fb2019-12-03 11:04:19 -080021LDFLAGS+=-llog -ldl -lrt -lpthread -lstdc++
22
xingri.gao87c7cc42023-12-26 09:18:33 +000023CUTILS_OBJCTS = $(patsubst %.c, $(AML_BUILD_DIR)/%.o, $(notdir $(CUTILS_SRCS)))
24CUTILS_OBJCTS += $(patsubst %.cpp, $(AML_BUILD_DIR)/%.o, $(notdir $(CUTILS_SRCPPS)))
25SRCS_OBJCTS = $(patsubst %.c, $(AML_BUILD_DIR)/%.o, $(notdir $(SRCS)))
26SRCS_OBJCTS += $(patsubst %.cpp, $(AML_BUILD_DIR)/%.o, $(notdir $(SRCPPS)))
27SRCS_DIR = $(dir $(SRCS) $(SRCPPS))
28CUTILS_DIR = $(dir $(CUTILS_SRCS) $(SRCPPS))
Tim Yao72bc0fb2019-12-03 11:04:19 -080029
xingri.gao87c7cc42023-12-26 09:18:33 +000030vpath %.c $(SRCS_DIR):$(CUTILS_DIR)
Tim Yao72bc0fb2019-12-03 11:04:19 -080031
xingri.gao87c7cc42023-12-26 09:18:33 +000032$(AML_BUILD_DIR)/%.o: %.c
Tim Yao72bc0fb2019-12-03 11:04:19 -080033 $(CC) -c $(CFLAGS) -o $@ $<
34
xingri.gao87c7cc42023-12-26 09:18:33 +000035$(AML_BUILD_DIR)/%.o: %.cc
36 $(CC) -c $(CFLAGS) $(CXXFLAGS) -o $@ $<
Tim Yao72bc0fb2019-12-03 11:04:19 -080037
xingri.gao87c7cc42023-12-26 09:18:33 +000038vpath %.cpp $(SRCS_DIR):$(CUTILS_DIR)
39
40$(AML_BUILD_DIR)/%.o: %.cpp
41 $(CC) -c $(CFLAGS) $(CXXFLAGS) -o $@ $<
42
43all: $(AML_BUILD_DIR)/libamaudioutils.so $(AML_BUILD_DIR)/libcutils.so
44
45$(AML_BUILD_DIR)/libamaudioutils.so: $(SRCS_OBJCTS)
wei.dude4dd672022-04-02 15:35:21 +080046 $(CC) $(CFLAGS) -shared -o $@ $^ $(LDFLAGS)
Tim Yao72bc0fb2019-12-03 11:04:19 -080047
xingri.gao87c7cc42023-12-26 09:18:33 +000048$(AML_BUILD_DIR)/libcutils.so: $(CUTILS_OBJCTS)
wei.dude4dd672022-04-02 15:35:21 +080049 $(CC) $(CFLAGS) -shared -o $@ $^ $(LDFLAGS)
Tim Yao72bc0fb2019-12-03 11:04:19 -080050
51.PHONY: install
52install:
xingri.gao87c7cc42023-12-26 09:18:33 +000053 install -m 644 -D $(AML_BUILD_DIR)/libamaudioutils.so -t $(STAGING_DIR)/usr/lib
54 install -m 644 -D $(AML_BUILD_DIR)/libamaudioutils.so -t $(TARGET_DIR)/usr/lib
55 install -m 644 -D $(AML_BUILD_DIR)/libcutils.so -t $(STAGING_DIR)/usr/lib
56 install -m 644 -D $(AML_BUILD_DIR)/libcutils.so -t $(TARGET_DIR)/usr/lib
Tim Yao72bc0fb2019-12-03 11:04:19 -080057 for f in $(@D)/include/audio_utils/*.h; do \
58 install -m 644 -D $${f} -t $(STAGING_DIR)/usr/include/audio_utils; \
59 done
Tim Yao10e5d9b2020-12-30 17:38:10 -080060 for f in $(@D)/include/IpcBuffer/*.h; do \
61 install -m 644 -D $${f} -t $(STAGING_DIR)/usr/include/IpcBuffer; \
62 done
Tim Yao72bc0fb2019-12-03 11:04:19 -080063
64.PHONY: clean
65clean:
66 rm -rf $(STAGING_DIR)/usr/include/audio_utils
67 rm -rf $(STAGING_DIR)/usr/include/cutils
xingri.gao87c7cc42023-12-26 09:18:33 +000068 rm -f $(AML_BUILD_DIR)/*.so
69 rm -f $(AML_BUILD_DIR)/*.o
Tim Yao72bc0fb2019-12-03 11:04:19 -080070 rm -f $(TARGET_DIR)/usr/lib/libamaudioutils.so
71 rm -f $(STAGING_DIR)/usr/lib/libamaudioutils.so
72