blob: df7dfc4966bc9c1b29d5c8c52731a16f93bd589f [file] [log] [blame]
Tim Yaoe8c0d4a2019-11-27 14:47:35 -08001COMMON_OBJS=src/CircularBuffer.o
2
3PROTO_SRCS=src/audio_service.grpc.pb.cc src/audio_service.pb.cc
4PROTO_OBJS+=$(PROTO_SRCS:.cc=.o)
5
6SERVER_OBJS=src/audio_server.o src/audio_if.o
7CLIENT_OBJS=src/audio_client.o src/audio_if_client.o
8
9SERVER_OBJS+=$(COMMON_OBJS) $(PROTO_OBJS)
10CLIENT_OBJS+=$(COMMON_OBJS) $(PROTO_OBJS)
11
12TEST_PCM_OBJS=src/test.o
13TEST_DOLBY_OBJS=src/test_ac3.o
Tim Yao5351d702020-01-20 16:56:42 -080014TEST_HALPLAY_OBJS=src/halplay.o
Tim Yao14cb94e2020-05-12 10:28:05 -070015TEST_MS12_OBJS=src/dap_setting.o
16TEST_SPEAKER_DELAY_OBJS=src/speaker_delay.o
17TEST_DIGITAL_MODE_OBJS=src/digital_mode.o
18TEST_ARC_TEST_OBJS=src/test_arc.o
19TEST_START_ARC_OBJS=src/start_arc.o
Tim Yaoef039242020-07-21 21:59:22 -070020TEST_HAL_PARAM_OBJS=src/hal_param.o
Tim Yaoab2a3a62020-10-29 15:33:55 -070021TEST_HAL_DUMP_OBJS=src/hal_dump.o
Tim Yaoe10bde12020-08-12 11:29:21 -070022TEST_MASTER_VOL_OBJS=src/master_vol.o
cheng tong7d907882020-09-04 18:53:04 +080023EFFECT_TOOL_OBJS=src/effect_tool.o
Tim Yaoe8c0d4a2019-11-27 14:47:35 -080024
25PROTOC=$(HOST_DIR)/bin/protoc
26PROTOC_INC=$(HOST_DIR)/include
27GRPC_CPP_PLUGIN_PATH=$(HOST_DIR)/bin/grpc_cpp_plugin
28
29CFLAGS+=-fPIC -O2 -I$(PROTOC_INC) -I./include -I. -I./src
30CXXFLAGS+=-std=c++14
Tim Yao3e3b0912020-08-13 09:47:28 -070031SC_LDFLAGS+=-lgrpc++_unsecure -lprotobuf -lboost_system -llog -ldl -lrt -lpthread -lstdc++
32LDFLAGS+=-llog -ldl -lrt -lpthread -lstdc++
Tim Yaoe8c0d4a2019-11-27 14:47:35 -080033
Blance Tang0f2c7032020-10-27 10:12:53 +080034%.grpc.pb.cc: %.pb.cc
35 #echo "audio_sevice.grpc.pb.cc depends on audio_service.pb.h which is generated by audio_service.pb.cc"
36
Tim Yaoe8c0d4a2019-11-27 14:47:35 -080037%.grpc.pb.cc: %.proto
38 $(PROTOC) -I=. -I=$(PROTOC_INC) --grpc_out=. --plugin=protoc-gen-grpc=$(GRPC_CPP_PLUGIN_PATH) $<
39
40%.pb.cc: %.proto
41 $(PROTOC) -I=. -I=$(PROTOC_INC) --cpp_out=. --plugin=protoc-gen-grpc=$(GRPC_CPP_PLUGIN_PATH) $<
42
43%.o: %.cpp
44 $(CC) -c $(CFLAGS) $(CXXFLAGS) -o $@ $<
45
46%.o: %.cc
47 $(CC) -c $(CFLAGS) $(CXXFLAGS) -o $@ $<
48
49%.o: %.c
50 $(CC) -c $(CFLAGS) -o $@ $<
51
cheng tong7d907882020-09-04 18:53:04 +080052all: audio_server libaudio_client.so audio_client_test audio_client_test_ac3 halplay dap_setting speaker_delay digital_mode test_arc start_arc hal_param hal_dump master_vol effect_tool
Tim Yaoe8c0d4a2019-11-27 14:47:35 -080053
54audio_server: $(SERVER_OBJS)
Tim Yao3e3b0912020-08-13 09:47:28 -070055 $(CC) $(CFLAGS) $(SC_LDFLAGS) -o $@ $^
Tim Yaoe8c0d4a2019-11-27 14:47:35 -080056
57libaudio_client.so: $(CLIENT_OBJS)
Tim Yao3e3b0912020-08-13 09:47:28 -070058 $(CC) $(CFLAGS) $(SC_LDFLAGS) -shared -o $@ $^
Tim Yaoe8c0d4a2019-11-27 14:47:35 -080059
60audio_client_test: $(TEST_PCM_OBJS) libaudio_client.so
61 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
62
63audio_client_test_ac3: $(TEST_DOLBY_OBJS) libaudio_client.so
64 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
65
Tim Yao5351d702020-01-20 16:56:42 -080066halplay: $(TEST_HALPLAY_OBJS) libaudio_client.so
67 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
68
Tim Yao14cb94e2020-05-12 10:28:05 -070069dap_setting: $(TEST_MS12_OBJS) libaudio_client.so
70 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
71
72speaker_delay: $(TEST_SPEAKER_DELAY_OBJS) libaudio_client.so
73 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
74
75digital_mode: $(TEST_DIGITAL_MODE_OBJS) libaudio_client.so
76 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
77
78test_arc: $(TEST_ARC_TEST_OBJS) libaudio_client.so
79 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
80
81start_arc: $(TEST_START_ARC_OBJS)
82 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
83
Tim Yaoef039242020-07-21 21:59:22 -070084hal_param: $(TEST_HAL_PARAM_OBJS) libaudio_client.so
85 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
86
Tim Yaoab2a3a62020-10-29 15:33:55 -070087hal_dump: $(TEST_HAL_DUMP_OBJS) libaudio_client.so
88 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
89
Tim Yaoe10bde12020-08-12 11:29:21 -070090master_vol: $(TEST_MASTER_VOL_OBJS) libaudio_client.so
91 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
92
cheng tong7d907882020-09-04 18:53:04 +080093effect_tool: $(EFFECT_TOOL_OBJS) libaudio_client.so
94 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
95
Tim Yaoe8c0d4a2019-11-27 14:47:35 -080096.PHONY: install
97install:
98 install -m 755 -D audio_server -t $(TARGET_DIR)/usr/bin/
99 install -m 755 -D audio_client_test -t $(TARGET_DIR)/usr/bin/
100 install -m 755 -D audio_client_test_ac3 $(TARGET_DIR)/usr/bin/
Tim Yao5351d702020-01-20 16:56:42 -0800101 install -m 755 -D halplay $(TARGET_DIR)/usr/bin/
Tim Yao14cb94e2020-05-12 10:28:05 -0700102 install -m 755 -D dap_setting $(TARGET_DIR)/usr/bin/
103 install -m 755 -D speaker_delay $(TARGET_DIR)/usr/bin/
104 install -m 755 -D digital_mode $(TARGET_DIR)/usr/bin/
105 install -m 755 -D test_arc $(TARGET_DIR)/usr/bin/
106 install -m 755 -D start_arc $(TARGET_DIR)/usr/bin/
Tim Yaoef039242020-07-21 21:59:22 -0700107 install -m 755 -D hal_param $(TARGET_DIR)/usr/bin/
Tim Yaoab2a3a62020-10-29 15:33:55 -0700108 install -m 755 -D hal_dump $(TARGET_DIR)/usr/bin/
Tim Yaoe10bde12020-08-12 11:29:21 -0700109 install -m 755 -D master_vol $(TARGET_DIR)/usr/bin/
cheng tong7d907882020-09-04 18:53:04 +0800110 install -m 755 -D effect_tool $(TARGET_DIR)/usr/bin/
Tim Yaoe8c0d4a2019-11-27 14:47:35 -0800111 install -m 644 -D libaudio_client.so -t $(TARGET_DIR)/usr/lib/
Pradeep Sriram4797eb52019-12-19 16:26:53 -0800112 install -m 644 -D libaudio_client.so -t $(STAGING_DIR)/usr/lib/
Tim Yaoe8c0d4a2019-11-27 14:47:35 -0800113 install -m 644 -D include/audio_if_client.h -t $(STAGING_DIR)/usr/include
Pradeep Sriram4797eb52019-12-19 16:26:53 -0800114 install -m 644 -D include/audio_if.h -t $(STAGING_DIR)/usr/include
cheng tong7d907882020-09-04 18:53:04 +0800115 install -m 644 -D include/audio_effect_if.h -t $(STAGING_DIR)/usr/include
cheng tongf46f27d2020-11-03 16:07:34 +0800116 install -m 644 -D include/audio_effect_params.h -t $(STAGING_DIR)/usr/include
Tim Yaoe8c0d4a2019-11-27 14:47:35 -0800117 for f in $(@D)/include/hardware/*.h; do \
118 install -m 644 -D $${f} -t $(STAGING_DIR)/usr/include/hardware; \
119 done
120 for f in $(@D)/include/system/*.h; do \
121 install -m 644 -D $${f} -t $(STAGING_DIR)/usr/include/system; \
122 done
123
124.PHONY: clean
125clean:
126 rm -f audio_server
127 rm -f audio_client_test
128 rm -f audio_client_test_ac3
Tim Yao5351d702020-01-20 16:56:42 -0800129 rm -f halplay
Tim Yao14cb94e2020-05-12 10:28:05 -0700130 rm -f test_arc
131 rm -f start_arc
Tim Yaoef039242020-07-21 21:59:22 -0700132 rm -f hal_param
Tim Yaoab2a3a62020-10-29 15:33:55 -0700133 rm -f hal_dump
Tim Yaoe10bde12020-08-12 11:29:21 -0700134 rm -f master_vol
cheng tong7d907882020-09-04 18:53:04 +0800135 rm -f effect_tool
Tim Yaoe8c0d4a2019-11-27 14:47:35 -0800136 rm -rf $(STAGING_DIR)/usr/include/hardware
137 rm -rf $(STAGING_DIR)/usr/include/system
138 rm -f libaudio_client.so
139 rm -f $(TARGET_DIR)/usr/bin/audio_server
140 rm -f $(TARGET_DIR)/usr/bin/audio_client_test
141 rm -f $(TARGET_DIR)/usr/bin/audio_client_test_ac3
Tim Yao5351d702020-01-20 16:56:42 -0800142 rm -f $(TARGET_DIR)/usr/bin/halplay
Tim Yao14cb94e2020-05-12 10:28:05 -0700143 rm -f $(TARGET_DIR)/usr/bin/speaker_delay
144 rm -f $(TARGET_DIR)/usr/bin/digital_mode
145 rm -f $(TARGET_DIR)/usr/bin/test_arc
146 rm -f $(TARGET_DIR)/usr/bin/start_arc
Tim Yaoef039242020-07-21 21:59:22 -0700147 rm -f $(TARGET_DIR)/usr/bin/hal_param
Tim Yaoab2a3a62020-10-29 15:33:55 -0700148 rm -f $(TARGET_DIR)/usr/bin/hal_dump
Tim Yaoe10bde12020-08-12 11:29:21 -0700149 rm -f $(TARGET_DIR)/usr/bin/master_vol
cheng tong7d907882020-09-04 18:53:04 +0800150 rm -f $(TARGET_DIR)/usr/bin/effect_tool
Tim Yaoe8c0d4a2019-11-27 14:47:35 -0800151 rm -f $(TARGET_DIR)/usr/lib/libaudio_client.so
152 rm -f $(STAGING_DIR)/usr/lib/libaudio_client.so
153 rm -f $(STAGING_DIR)/usr/include/audio_if_client.h
cheng tong7d907882020-09-04 18:53:04 +0800154 rm -f $(STAGING_DIR)/usr/include/audio_effect_if.h
cheng tongf46f27d2020-11-03 16:07:34 +0800155 rm -f $(STAGING_DIR)/usr/include/audio_effect_params.h
Tim Yaoe8c0d4a2019-11-27 14:47:35 -0800156