blob: 46f134633f792537e97297498ecd731683b0e094 [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 Yaoe8c0d4a2019-11-27 14:47:35 -080015
16PROTOC=$(HOST_DIR)/bin/protoc
17PROTOC_INC=$(HOST_DIR)/include
18GRPC_CPP_PLUGIN_PATH=$(HOST_DIR)/bin/grpc_cpp_plugin
19
20CFLAGS+=-fPIC -O2 -I$(PROTOC_INC) -I./include -I. -I./src
21CXXFLAGS+=-std=c++14
22LDFLAGS+=-lgrpc++_unsecure -lprotobuf -lboost_system -llog -ldl -lrt -lpthread -lstdc++
23
24%.grpc.pb.cc: %.proto
25 $(PROTOC) -I=. -I=$(PROTOC_INC) --grpc_out=. --plugin=protoc-gen-grpc=$(GRPC_CPP_PLUGIN_PATH) $<
26
27%.pb.cc: %.proto
28 $(PROTOC) -I=. -I=$(PROTOC_INC) --cpp_out=. --plugin=protoc-gen-grpc=$(GRPC_CPP_PLUGIN_PATH) $<
29
30%.o: %.cpp
31 $(CC) -c $(CFLAGS) $(CXXFLAGS) -o $@ $<
32
33%.o: %.cc
34 $(CC) -c $(CFLAGS) $(CXXFLAGS) -o $@ $<
35
36%.o: %.c
37 $(CC) -c $(CFLAGS) -o $@ $<
38
Tim Yao5351d702020-01-20 16:56:42 -080039all: audio_server libaudio_client.so audio_client_test audio_client_test_ac3 halplay
Tim Yaoe8c0d4a2019-11-27 14:47:35 -080040
41audio_server: $(SERVER_OBJS)
42 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
43
44libaudio_client.so: $(CLIENT_OBJS)
45 $(CC) $(CFLAGS) $(LDFLAGS) -shared -o $@ $^
46
47audio_client_test: $(TEST_PCM_OBJS) libaudio_client.so
48 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
49
50audio_client_test_ac3: $(TEST_DOLBY_OBJS) libaudio_client.so
51 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
52
Tim Yao5351d702020-01-20 16:56:42 -080053halplay: $(TEST_HALPLAY_OBJS) libaudio_client.so
54 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
55
Tim Yaoe8c0d4a2019-11-27 14:47:35 -080056.PHONY: install
57install:
58 install -m 755 -D audio_server -t $(TARGET_DIR)/usr/bin/
59 install -m 755 -D audio_client_test -t $(TARGET_DIR)/usr/bin/
60 install -m 755 -D audio_client_test_ac3 $(TARGET_DIR)/usr/bin/
Tim Yao5351d702020-01-20 16:56:42 -080061 install -m 755 -D halplay $(TARGET_DIR)/usr/bin/
Tim Yaoe8c0d4a2019-11-27 14:47:35 -080062 install -m 644 -D libaudio_client.so -t $(TARGET_DIR)/usr/lib/
Pradeep Sriram4797eb52019-12-19 16:26:53 -080063 install -m 644 -D libaudio_client.so -t $(STAGING_DIR)/usr/lib/
Tim Yaoe8c0d4a2019-11-27 14:47:35 -080064 install -m 644 -D include/audio_if_client.h -t $(STAGING_DIR)/usr/include
Pradeep Sriram4797eb52019-12-19 16:26:53 -080065 install -m 644 -D include/audio_if.h -t $(STAGING_DIR)/usr/include
Tim Yaoe8c0d4a2019-11-27 14:47:35 -080066 for f in $(@D)/include/hardware/*.h; do \
67 install -m 644 -D $${f} -t $(STAGING_DIR)/usr/include/hardware; \
68 done
69 for f in $(@D)/include/system/*.h; do \
70 install -m 644 -D $${f} -t $(STAGING_DIR)/usr/include/system; \
71 done
72
73.PHONY: clean
74clean:
75 rm -f audio_server
76 rm -f audio_client_test
77 rm -f audio_client_test_ac3
Tim Yao5351d702020-01-20 16:56:42 -080078 rm -f halplay
Tim Yaoe8c0d4a2019-11-27 14:47:35 -080079 rm -rf $(STAGING_DIR)/usr/include/hardware
80 rm -rf $(STAGING_DIR)/usr/include/system
81 rm -f libaudio_client.so
82 rm -f $(TARGET_DIR)/usr/bin/audio_server
83 rm -f $(TARGET_DIR)/usr/bin/audio_client_test
84 rm -f $(TARGET_DIR)/usr/bin/audio_client_test_ac3
Tim Yao5351d702020-01-20 16:56:42 -080085 rm -f $(TARGET_DIR)/usr/bin/halplay
Tim Yaoe8c0d4a2019-11-27 14:47:35 -080086 rm -f $(TARGET_DIR)/usr/lib/libaudio_client.so
87 rm -f $(STAGING_DIR)/usr/lib/libaudio_client.so
88 rm -f $(STAGING_DIR)/usr/include/audio_if_client.h
89