blob: a07dac9ed4aa3f2a04201844389a26dbaa818aa4 [file] [log] [blame]
Tim Yaoe8c0d4a2019-11-27 14:47:35 -08001PROTO_SRCS=src/audio_service.grpc.pb.cc src/audio_service.pb.cc
2PROTO_OBJS+=$(PROTO_SRCS:.cc=.o)
3
jesse.huang3af2c4f2023-06-15 16:34:14 -07004SHARED_BINDER_OBJS=src/binder/common.o
5
6ifeq ($(use_binder),y)
7SERVER_OBJS=src/audio_if.o src/binder/main_audio_service_binder.o src/binder/audio_service_binder.o src/binder/service_death_recipient.o
8else
Tim Yaoe8c0d4a2019-11-27 14:47:35 -08009SERVER_OBJS=src/audio_server.o src/audio_if.o
jesse.huang3af2c4f2023-06-15 16:34:14 -070010endif
xingri.gao31025662023-05-09 07:29:28 +000011
12ifeq ($(rm_audioserver),y)
13CLIENT_OBJS=src/audio_if.o
jesse.huang3af2c4f2023-06-15 16:34:14 -070014else
15ifeq ($(use_binder),y)
16CLIENT_OBJS=src/binder/audio_client_binder.o src/binder/audio_if_client_binder.o src/binder/client_death_recipient.o
17CLIENT_OBJS+=$(SHARED_BINDER_OBJS)
xingri.gao31025662023-05-09 07:29:28 +000018else
Tim Yaoe8c0d4a2019-11-27 14:47:35 -080019CLIENT_OBJS=src/audio_client.o src/audio_if_client.o
jesse.huang3af2c4f2023-06-15 16:34:14 -070020CLIENT_OBJS+=$(PROTO_OBJS)
21endif
xingri.gao31025662023-05-09 07:29:28 +000022endif
wei.du2be69bd2023-02-25 22:53:29 +080023#HAL_APLUG_OBJS = hal_aplug/hal_aplug.o
wei.wang1e45cfd32023-07-10 08:33:46 +000024AMLAUDIOSET_OBJS = src/AML_Audio_Setting.o
xingri.gao31025662023-05-09 07:29:28 +000025
jesse.huang3af2c4f2023-06-15 16:34:14 -070026ifeq ($(use_binder),y)
27SERVER_OBJS+=$(SHARED_BINDER_OBJS)
28else
29SERVER_OBJS+=$(PROTO_OBJS)
30endif
Tim Yaoe8c0d4a2019-11-27 14:47:35 -080031
32TEST_PCM_OBJS=src/test.o
33TEST_DOLBY_OBJS=src/test_ac3.o
Tim Yao5351d702020-01-20 16:56:42 -080034TEST_HALPLAY_OBJS=src/halplay.o
shu.zhangf2bd59c2021-07-13 04:55:34 -040035TEST_HALCAPTURE_OBJS=src/hal_capture.o
zhaopeng.yan30a9e822023-02-21 15:37:58 +080036TEST_AMLAUDIOHAL_OBJS=src/test_amlaudiohal.o
wei.wang1e45cfd32023-07-10 08:33:46 +000037TEST_AUDIOSET_OBJS=src/test_audiosetting.o
Tim Yao14cb94e2020-05-12 10:28:05 -070038TEST_MS12_OBJS=src/dap_setting.o
39TEST_SPEAKER_DELAY_OBJS=src/speaker_delay.o
40TEST_DIGITAL_MODE_OBJS=src/digital_mode.o
41TEST_ARC_TEST_OBJS=src/test_arc.o
42TEST_START_ARC_OBJS=src/start_arc.o
Tim Yaoef039242020-07-21 21:59:22 -070043TEST_HAL_PARAM_OBJS=src/hal_param.o
Tim Yaoab2a3a62020-10-29 15:33:55 -070044TEST_HAL_DUMP_OBJS=src/hal_dump.o
Tim Yaob312db52020-11-03 13:08:32 -080045TEST_HAL_PATCH_OBJS=src/hal_patch.o
Tim Yaoe10bde12020-08-12 11:29:21 -070046TEST_MASTER_VOL_OBJS=src/master_vol.o
cheng tong7d907882020-09-04 18:53:04 +080047EFFECT_TOOL_OBJS=src/effect_tool.o
jesse.huang3af2c4f2023-06-15 16:34:14 -070048TEST_AUDIO_CLIENT_BINDER_OBJS=src/binder/audio_client_binder_test.o
Tim Yaoe8c0d4a2019-11-27 14:47:35 -080049
50PROTOC=$(HOST_DIR)/bin/protoc
51PROTOC_INC=$(HOST_DIR)/include
52GRPC_CPP_PLUGIN_PATH=$(HOST_DIR)/bin/grpc_cpp_plugin
53
jesse.huang3af2c4f2023-06-15 16:34:14 -070054CFLAGS += -Wall -fPIC -O2 -I$(PROTOC_INC) -I./include -I. -I./src
wei.du7a45bfd2022-10-27 11:48:27 +080055ifeq ($(aplugin),y)
56 CFLAGS+= -DPIC
57endif
jesse.huang3af2c4f2023-06-15 16:34:14 -070058CXXFLAGS += -Wall -std=c++14
59
60ifeq ($(use_binder),y)
Ajay Gautamef573712023-09-15 13:57:40 -070061SC_LDFLAGS+=-Wl,--no-as-needed -lbinder -lboost_system -lamaudioutils -llog -ldl -lrt -lpthread -lstdc++ -pthread
jesse.huang3af2c4f2023-06-15 16:34:14 -070062LDFLAGS+= -Wl,--no-as-needed -lbinder -llog -ldl -lrt -lpthread -lstdc++ -pthread
63else
Tim Yaoaaa3bc52020-12-30 17:40:14 -080064SC_LDFLAGS+=-Wl,--no-as-needed -lgrpc++_unsecure -lprotobuf -lboost_system -lamaudioutils -llog -ldl -lrt -lpthread -lstdc++ -pthread
Terrence Pu6008d882020-06-21 12:30:54 -070065LDFLAGS+= -Wl,--no-as-needed -llog -ldl -lrt -lpthread -lstdc++ -pthread
jesse.huang3af2c4f2023-06-15 16:34:14 -070066endif
Tim Yaoe8c0d4a2019-11-27 14:47:35 -080067
Tim Yaoc02f75d2021-01-14 22:39:40 -080068%.grpc.pb.cc %.grpc.pb.h: %.proto
Tim Yaoe8c0d4a2019-11-27 14:47:35 -080069 $(PROTOC) -I=. -I=$(PROTOC_INC) --grpc_out=. --plugin=protoc-gen-grpc=$(GRPC_CPP_PLUGIN_PATH) $<
70
Tim Yaoc02f75d2021-01-14 22:39:40 -080071%.pb.cc %.pb.h: %.proto
Tim Yao704dd982020-12-09 17:06:45 -080072 $(PROTOC) -I=. -I=$(PROTOC_INC) --cpp_out=. --plugin=protoc-gen-grpc=$(GRPC_CPP_PLUGIN_PATH) $<
73
Tim Yaoc02f75d2021-01-14 22:39:40 -080074%.pb.o: %.pb.cc %.pb.h
Tim Yaoe8c0d4a2019-11-27 14:47:35 -080075 $(CC) -c $(CFLAGS) $(CXXFLAGS) -o $@ $<
76
Tim Yaoc02f75d2021-01-14 22:39:40 -080077%.o: %.cpp
Tim Yaoe8c0d4a2019-11-27 14:47:35 -080078 $(CC) -c $(CFLAGS) $(CXXFLAGS) -o $@ $<
79
80%.o: %.c
81 $(CC) -c $(CFLAGS) -o $@ $<
82
Blance Tangdb9f6752020-12-27 02:54:04 +000083src/audio_service.grpc.pb.cc: src/audio_service.pb.h
84src/audio_server.cpp: src/audio_service.pb.h src/audio_service.grpc.pb.cc
85src/audio_client.cpp: src/audio_service.pb.h src/audio_service.grpc.pb.cc
86src/audio_if_client.cpp: src/audio_service.pb.h src/audio_service.grpc.pb.cc
87
xingri.gao31025662023-05-09 07:29:28 +000088ifeq ($(rm_audioserver),y)
wei.wang1e45cfd32023-07-10 08:33:46 +000089obj= libaudio_client.so libamlaudiosetting.so audio_client_test audio_client_test_ac3 halplay hal_capture dap_setting speaker_delay digital_mode test_arc start_arc hal_param hal_dump hal_patch master_vol test_audiosetting
xingri.gao31025662023-05-09 07:29:28 +000090else
jesse.huang3af2c4f2023-06-15 16:34:14 -070091ifeq ($(use_binder),y)
92obj= audio_server libaudio_client.so audio_client_test audio_client_test_ac3 audio_client_binder_test halplay hal_capture dap_setting speaker_delay digital_mode test_arc start_arc hal_param hal_dump hal_patch master_vol effect_tool
93else
xingri.gao31025662023-05-09 07:29:28 +000094obj= audio_server libaudio_client.so audio_client_test audio_client_test_ac3 halplay hal_capture dap_setting speaker_delay digital_mode test_arc start_arc hal_param hal_dump hal_patch master_vol effect_tool
95endif
jesse.huang3af2c4f2023-06-15 16:34:14 -070096endif
xingri.gao31025662023-05-09 07:29:28 +000097
wei.du7a45bfd2022-10-27 11:48:27 +080098ifeq ($(aplugin),y)
99 obj+= libasound_module_pcm_ahal.so
100endif
101
102all:$(obj)
103
xingri.gao31025662023-05-09 07:29:28 +0000104ifeq ($(rm_audioserver),y)
105libaudio_client.so: $(CLIENT_OBJS)
106 $(CC) $(CFLAGS) $(LDFLAGS) -shared -o $@ $^
wei.wang1e45cfd32023-07-10 08:33:46 +0000107
108libamlaudiosetting.so:$(AMLAUDIOSET_OBJS)
109 $(CC) $(CFLAGS) $(LDFLAGS) -shared -o $@ $^
110
111test_audiosetting: $(TEST_AUDIOSET_OBJS) libamlaudiosetting.so
112 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
xingri.gao31025662023-05-09 07:29:28 +0000113else
Tim Yaoe8c0d4a2019-11-27 14:47:35 -0800114audio_server: $(SERVER_OBJS)
Tim Yao3e3b0912020-08-13 09:47:28 -0700115 $(CC) $(CFLAGS) $(SC_LDFLAGS) -o $@ $^
Tim Yaoe8c0d4a2019-11-27 14:47:35 -0800116
117libaudio_client.so: $(CLIENT_OBJS)
Tim Yao3e3b0912020-08-13 09:47:28 -0700118 $(CC) $(CFLAGS) $(SC_LDFLAGS) -shared -o $@ $^
xingri.gao31025662023-05-09 07:29:28 +0000119endif
Tim Yaoe8c0d4a2019-11-27 14:47:35 -0800120
wei.du2be69bd2023-02-25 22:53:29 +0800121libasound_module_pcm_ahal.so: libaudio_client.so
wei.du7a45bfd2022-10-27 11:48:27 +0800122 $(CC) $(CFLAGS) $(SC_LDFLAGS) -lasound -shared -o $@ $^
123
Tim Yaoe8c0d4a2019-11-27 14:47:35 -0800124audio_client_test: $(TEST_PCM_OBJS) libaudio_client.so
125 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
126
127audio_client_test_ac3: $(TEST_DOLBY_OBJS) libaudio_client.so
128 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
129
Tim Yao5351d702020-01-20 16:56:42 -0800130halplay: $(TEST_HALPLAY_OBJS) libaudio_client.so
131 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
132
shu.zhangf2bd59c2021-07-13 04:55:34 -0400133hal_capture: $(TEST_HALCAPTURE_OBJS) libaudio_client.so
134 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
135
Tim Yao14cb94e2020-05-12 10:28:05 -0700136dap_setting: $(TEST_MS12_OBJS) libaudio_client.so
137 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
138
139speaker_delay: $(TEST_SPEAKER_DELAY_OBJS) libaudio_client.so
140 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
141
142digital_mode: $(TEST_DIGITAL_MODE_OBJS) libaudio_client.so
143 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
144
145test_arc: $(TEST_ARC_TEST_OBJS) libaudio_client.so
146 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
147
148start_arc: $(TEST_START_ARC_OBJS)
149 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
150
Tim Yaoef039242020-07-21 21:59:22 -0700151hal_param: $(TEST_HAL_PARAM_OBJS) libaudio_client.so
152 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
153
Tim Yaoab2a3a62020-10-29 15:33:55 -0700154hal_dump: $(TEST_HAL_DUMP_OBJS) libaudio_client.so
155 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
156
Tim Yaob312db52020-11-03 13:08:32 -0800157hal_patch: $(TEST_HAL_PATCH_OBJS) libaudio_client.so
158 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
159
Tim Yaoe10bde12020-08-12 11:29:21 -0700160master_vol: $(TEST_MASTER_VOL_OBJS) libaudio_client.so
161 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
162
cheng tong7d907882020-09-04 18:53:04 +0800163effect_tool: $(EFFECT_TOOL_OBJS) libaudio_client.so
164 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
jesse.huang3af2c4f2023-06-15 16:34:14 -0700165
166audio_client_binder_test: $(TEST_AUDIO_CLIENT_BINDER_OBJS) libaudio_client.so
167 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
cheng tong7d907882020-09-04 18:53:04 +0800168
Tim Yaoe8c0d4a2019-11-27 14:47:35 -0800169.PHONY: install
170install:
xingri.gao31025662023-05-09 07:29:28 +0000171ifneq ($(rm_audioserver),y)
Tim Yaoe8c0d4a2019-11-27 14:47:35 -0800172 install -m 755 -D audio_server -t $(TARGET_DIR)/usr/bin/
173 install -m 755 -D audio_client_test -t $(TARGET_DIR)/usr/bin/
174 install -m 755 -D audio_client_test_ac3 $(TARGET_DIR)/usr/bin/
xingri.gao31025662023-05-09 07:29:28 +0000175 install -m 755 -D effect_tool $(TARGET_DIR)/usr/bin/
wei.wang1e45cfd32023-07-10 08:33:46 +0000176else
177 install -m 755 -D test_audiosetting -t $(TARGET_DIR)/usr/bin/
178 install -m 644 -D libamlaudiosetting.so -t $(STAGING_DIR)/usr/lib/
179 install -m 644 -D libamlaudiosetting.so -t $(TARGET_DIR)/usr/lib/
180 install -m 644 -D include/AML_Audio_Setting.h -t $(STAGING_DIR)/usr/include
xingri.gao31025662023-05-09 07:29:28 +0000181endif
jesse.huang3af2c4f2023-06-15 16:34:14 -0700182ifeq ($(use_binder),y)
183 install -m 755 -D audio_client_binder_test -t $(TARGET_DIR)/usr/bin/
184endif
Tim Yao5351d702020-01-20 16:56:42 -0800185 install -m 755 -D halplay $(TARGET_DIR)/usr/bin/
shu.zhangf2bd59c2021-07-13 04:55:34 -0400186 install -m 755 -D hal_capture $(TARGET_DIR)/usr/bin/
Tim Yao14cb94e2020-05-12 10:28:05 -0700187 install -m 755 -D dap_setting $(TARGET_DIR)/usr/bin/
188 install -m 755 -D speaker_delay $(TARGET_DIR)/usr/bin/
189 install -m 755 -D digital_mode $(TARGET_DIR)/usr/bin/
190 install -m 755 -D test_arc $(TARGET_DIR)/usr/bin/
191 install -m 755 -D start_arc $(TARGET_DIR)/usr/bin/
Tim Yaoef039242020-07-21 21:59:22 -0700192 install -m 755 -D hal_param $(TARGET_DIR)/usr/bin/
Tim Yaoab2a3a62020-10-29 15:33:55 -0700193 install -m 755 -D hal_dump $(TARGET_DIR)/usr/bin/
Tim Yaob312db52020-11-03 13:08:32 -0800194 install -m 755 -D hal_patch $(TARGET_DIR)/usr/bin/
Tim Yaoe10bde12020-08-12 11:29:21 -0700195 install -m 755 -D master_vol $(TARGET_DIR)/usr/bin/
Tim Yaoe8c0d4a2019-11-27 14:47:35 -0800196 install -m 644 -D libaudio_client.so -t $(TARGET_DIR)/usr/lib/
Pradeep Sriram4797eb52019-12-19 16:26:53 -0800197 install -m 644 -D libaudio_client.so -t $(STAGING_DIR)/usr/lib/
wei.du7a45bfd2022-10-27 11:48:27 +0800198ifeq ($(aplugin),y)
199 install -m 644 -D libasound_module_pcm_ahal.so -t $(TARGET_DIR)/usr/lib/alsa-lib/
200endif
Tim Yaoe8c0d4a2019-11-27 14:47:35 -0800201 install -m 644 -D include/audio_if_client.h -t $(STAGING_DIR)/usr/include
Pradeep Sriram4797eb52019-12-19 16:26:53 -0800202 install -m 644 -D include/audio_if.h -t $(STAGING_DIR)/usr/include
cheng tong7d907882020-09-04 18:53:04 +0800203 install -m 644 -D include/audio_effect_if.h -t $(STAGING_DIR)/usr/include
cheng tongf46f27d2020-11-03 16:07:34 +0800204 install -m 644 -D include/audio_effect_params.h -t $(STAGING_DIR)/usr/include
Tim Yaoe8c0d4a2019-11-27 14:47:35 -0800205 for f in $(@D)/include/hardware/*.h; do \
206 install -m 644 -D $${f} -t $(STAGING_DIR)/usr/include/hardware; \
207 done
208 for f in $(@D)/include/system/*.h; do \
209 install -m 644 -D $${f} -t $(STAGING_DIR)/usr/include/system; \
210 done
211
212.PHONY: clean
213clean:
214 rm -f audio_server
215 rm -f audio_client_test
216 rm -f audio_client_test_ac3
jesse.huang3af2c4f2023-06-15 16:34:14 -0700217ifeq ($(use_binder),y)
218 rm -f audio_client_binder_test
219endif
Tim Yao5351d702020-01-20 16:56:42 -0800220 rm -f halplay
shu.zhangf2bd59c2021-07-13 04:55:34 -0400221 rm -f hal_capture
Tim Yao14cb94e2020-05-12 10:28:05 -0700222 rm -f test_arc
223 rm -f start_arc
Tim Yaoef039242020-07-21 21:59:22 -0700224 rm -f hal_param
Tim Yaoab2a3a62020-10-29 15:33:55 -0700225 rm -f hal_dump
Tim Yaob312db52020-11-03 13:08:32 -0800226 rm -f hal_patch
Tim Yaoe10bde12020-08-12 11:29:21 -0700227 rm -f master_vol
cheng tong7d907882020-09-04 18:53:04 +0800228 rm -f effect_tool
Tim Yaoe8c0d4a2019-11-27 14:47:35 -0800229 rm -rf $(STAGING_DIR)/usr/include/hardware
230 rm -rf $(STAGING_DIR)/usr/include/system
231 rm -f libaudio_client.so
232 rm -f $(TARGET_DIR)/usr/bin/audio_server
233 rm -f $(TARGET_DIR)/usr/bin/audio_client_test
234 rm -f $(TARGET_DIR)/usr/bin/audio_client_test_ac3
jesse.huang3af2c4f2023-06-15 16:34:14 -0700235ifeq ($(use_binder),y)
236 rm -f $(TARGET_DIR)/usr/bin/audio_client_binder_test
237endif
Tim Yao5351d702020-01-20 16:56:42 -0800238 rm -f $(TARGET_DIR)/usr/bin/halplay
shu.zhangf2bd59c2021-07-13 04:55:34 -0400239 rm -f $(TARGET_DIR)/usr/bin/hal_capture
Tim Yao14cb94e2020-05-12 10:28:05 -0700240 rm -f $(TARGET_DIR)/usr/bin/speaker_delay
241 rm -f $(TARGET_DIR)/usr/bin/digital_mode
242 rm -f $(TARGET_DIR)/usr/bin/test_arc
243 rm -f $(TARGET_DIR)/usr/bin/start_arc
Tim Yaoef039242020-07-21 21:59:22 -0700244 rm -f $(TARGET_DIR)/usr/bin/hal_param
Tim Yaoab2a3a62020-10-29 15:33:55 -0700245 rm -f $(TARGET_DIR)/usr/bin/hal_dump
Tim Yaob312db52020-11-03 13:08:32 -0800246 rm -f $(TARGET_DIR)/usr/bin/hal_patch
Tim Yaoe10bde12020-08-12 11:29:21 -0700247 rm -f $(TARGET_DIR)/usr/bin/master_vol
cheng tong7d907882020-09-04 18:53:04 +0800248 rm -f $(TARGET_DIR)/usr/bin/effect_tool
Tim Yaoe8c0d4a2019-11-27 14:47:35 -0800249 rm -f $(TARGET_DIR)/usr/lib/libaudio_client.so
250 rm -f $(STAGING_DIR)/usr/lib/libaudio_client.so
251 rm -f $(STAGING_DIR)/usr/include/audio_if_client.h
cheng tong7d907882020-09-04 18:53:04 +0800252 rm -f $(STAGING_DIR)/usr/include/audio_effect_if.h
cheng tongf46f27d2020-11-03 16:07:34 +0800253 rm -f $(STAGING_DIR)/usr/include/audio_effect_params.h