blob: 7851c34e79af99504dbb4a8a53776ef6f16f47b1 [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 Yaoe8c0d4a2019-11-27 14:47:35 -080020
21PROTOC=$(HOST_DIR)/bin/protoc
22PROTOC_INC=$(HOST_DIR)/include
23GRPC_CPP_PLUGIN_PATH=$(HOST_DIR)/bin/grpc_cpp_plugin
24
25CFLAGS+=-fPIC -O2 -I$(PROTOC_INC) -I./include -I. -I./src
26CXXFLAGS+=-std=c++14
27LDFLAGS+=-lgrpc++_unsecure -lprotobuf -lboost_system -llog -ldl -lrt -lpthread -lstdc++
28
29%.grpc.pb.cc: %.proto
30 $(PROTOC) -I=. -I=$(PROTOC_INC) --grpc_out=. --plugin=protoc-gen-grpc=$(GRPC_CPP_PLUGIN_PATH) $<
31
32%.pb.cc: %.proto
33 $(PROTOC) -I=. -I=$(PROTOC_INC) --cpp_out=. --plugin=protoc-gen-grpc=$(GRPC_CPP_PLUGIN_PATH) $<
34
35%.o: %.cpp
36 $(CC) -c $(CFLAGS) $(CXXFLAGS) -o $@ $<
37
38%.o: %.cc
39 $(CC) -c $(CFLAGS) $(CXXFLAGS) -o $@ $<
40
41%.o: %.c
42 $(CC) -c $(CFLAGS) -o $@ $<
43
Tim Yao14cb94e2020-05-12 10:28:05 -070044all: audio_server libaudio_client.so audio_client_test audio_client_test_ac3 halplay dap_setting speaker_delay digital_mode test_arc start_arc
Tim Yaoe8c0d4a2019-11-27 14:47:35 -080045
46audio_server: $(SERVER_OBJS)
47 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
48
49libaudio_client.so: $(CLIENT_OBJS)
50 $(CC) $(CFLAGS) $(LDFLAGS) -shared -o $@ $^
51
52audio_client_test: $(TEST_PCM_OBJS) libaudio_client.so
53 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
54
55audio_client_test_ac3: $(TEST_DOLBY_OBJS) libaudio_client.so
56 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
57
Tim Yao5351d702020-01-20 16:56:42 -080058halplay: $(TEST_HALPLAY_OBJS) libaudio_client.so
59 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
60
Tim Yao14cb94e2020-05-12 10:28:05 -070061dap_setting: $(TEST_MS12_OBJS) libaudio_client.so
62 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
63
64speaker_delay: $(TEST_SPEAKER_DELAY_OBJS) libaudio_client.so
65 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
66
67digital_mode: $(TEST_DIGITAL_MODE_OBJS) libaudio_client.so
68 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
69
70test_arc: $(TEST_ARC_TEST_OBJS) libaudio_client.so
71 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
72
73start_arc: $(TEST_START_ARC_OBJS)
74 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
75
Tim Yaoe8c0d4a2019-11-27 14:47:35 -080076.PHONY: install
77install:
78 install -m 755 -D audio_server -t $(TARGET_DIR)/usr/bin/
79 install -m 755 -D audio_client_test -t $(TARGET_DIR)/usr/bin/
80 install -m 755 -D audio_client_test_ac3 $(TARGET_DIR)/usr/bin/
Tim Yao5351d702020-01-20 16:56:42 -080081 install -m 755 -D halplay $(TARGET_DIR)/usr/bin/
Tim Yao14cb94e2020-05-12 10:28:05 -070082 install -m 755 -D dap_setting $(TARGET_DIR)/usr/bin/
83 install -m 755 -D speaker_delay $(TARGET_DIR)/usr/bin/
84 install -m 755 -D digital_mode $(TARGET_DIR)/usr/bin/
85 install -m 755 -D test_arc $(TARGET_DIR)/usr/bin/
86 install -m 755 -D start_arc $(TARGET_DIR)/usr/bin/
Tim Yaoe8c0d4a2019-11-27 14:47:35 -080087 install -m 644 -D libaudio_client.so -t $(TARGET_DIR)/usr/lib/
Pradeep Sriram4797eb52019-12-19 16:26:53 -080088 install -m 644 -D libaudio_client.so -t $(STAGING_DIR)/usr/lib/
Tim Yaoe8c0d4a2019-11-27 14:47:35 -080089 install -m 644 -D include/audio_if_client.h -t $(STAGING_DIR)/usr/include
Pradeep Sriram4797eb52019-12-19 16:26:53 -080090 install -m 644 -D include/audio_if.h -t $(STAGING_DIR)/usr/include
Tim Yaoe8c0d4a2019-11-27 14:47:35 -080091 for f in $(@D)/include/hardware/*.h; do \
92 install -m 644 -D $${f} -t $(STAGING_DIR)/usr/include/hardware; \
93 done
94 for f in $(@D)/include/system/*.h; do \
95 install -m 644 -D $${f} -t $(STAGING_DIR)/usr/include/system; \
96 done
97
98.PHONY: clean
99clean:
100 rm -f audio_server
101 rm -f audio_client_test
102 rm -f audio_client_test_ac3
Tim Yao5351d702020-01-20 16:56:42 -0800103 rm -f halplay
Tim Yao14cb94e2020-05-12 10:28:05 -0700104 rm -f test_arc
105 rm -f start_arc
Tim Yaoe8c0d4a2019-11-27 14:47:35 -0800106 rm -rf $(STAGING_DIR)/usr/include/hardware
107 rm -rf $(STAGING_DIR)/usr/include/system
108 rm -f libaudio_client.so
109 rm -f $(TARGET_DIR)/usr/bin/audio_server
110 rm -f $(TARGET_DIR)/usr/bin/audio_client_test
111 rm -f $(TARGET_DIR)/usr/bin/audio_client_test_ac3
Tim Yao5351d702020-01-20 16:56:42 -0800112 rm -f $(TARGET_DIR)/usr/bin/halplay
Tim Yao14cb94e2020-05-12 10:28:05 -0700113 rm -f $(TARGET_DIR)/usr/bin/speaker_delay
114 rm -f $(TARGET_DIR)/usr/bin/digital_mode
115 rm -f $(TARGET_DIR)/usr/bin/test_arc
116 rm -f $(TARGET_DIR)/usr/bin/start_arc
Tim Yaoe8c0d4a2019-11-27 14:47:35 -0800117 rm -f $(TARGET_DIR)/usr/lib/libaudio_client.so
118 rm -f $(STAGING_DIR)/usr/lib/libaudio_client.so
119 rm -f $(STAGING_DIR)/usr/include/audio_if_client.h
120