blob: 54733193c5c0e07d2930f4eb72de03c1ef8cedd0 [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
14
15PROTOC=$(HOST_DIR)/bin/protoc
16PROTOC_INC=$(HOST_DIR)/include
17GRPC_CPP_PLUGIN_PATH=$(HOST_DIR)/bin/grpc_cpp_plugin
18
19CFLAGS+=-fPIC -O2 -I$(PROTOC_INC) -I./include -I. -I./src
20CXXFLAGS+=-std=c++14
21LDFLAGS+=-lgrpc++_unsecure -lprotobuf -lboost_system -llog -ldl -lrt -lpthread -lstdc++
22
23%.grpc.pb.cc: %.proto
24 $(PROTOC) -I=. -I=$(PROTOC_INC) --grpc_out=. --plugin=protoc-gen-grpc=$(GRPC_CPP_PLUGIN_PATH) $<
25
26%.pb.cc: %.proto
27 $(PROTOC) -I=. -I=$(PROTOC_INC) --cpp_out=. --plugin=protoc-gen-grpc=$(GRPC_CPP_PLUGIN_PATH) $<
28
29%.o: %.cpp
30 $(CC) -c $(CFLAGS) $(CXXFLAGS) -o $@ $<
31
32%.o: %.cc
33 $(CC) -c $(CFLAGS) $(CXXFLAGS) -o $@ $<
34
35%.o: %.c
36 $(CC) -c $(CFLAGS) -o $@ $<
37
38all: audio_server libaudio_client.so audio_client_test audio_client_test_ac3
39
40audio_server: $(SERVER_OBJS)
41 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
42
43libaudio_client.so: $(CLIENT_OBJS)
44 $(CC) $(CFLAGS) $(LDFLAGS) -shared -o $@ $^
45
46audio_client_test: $(TEST_PCM_OBJS) libaudio_client.so
47 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
48
49audio_client_test_ac3: $(TEST_DOLBY_OBJS) libaudio_client.so
50 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
51
52.PHONY: install
53install:
54 install -m 755 -D audio_server -t $(TARGET_DIR)/usr/bin/
55 install -m 755 -D audio_client_test -t $(TARGET_DIR)/usr/bin/
56 install -m 755 -D audio_client_test_ac3 $(TARGET_DIR)/usr/bin/
57 install -m 644 -D libaudio_client.so -t $(TARGET_DIR)/usr/lib/
Pradeep Sriram4797eb52019-12-19 16:26:53 -080058 install -m 644 -D libaudio_client.so -t $(STAGING_DIR)/usr/lib/
Tim Yaoe8c0d4a2019-11-27 14:47:35 -080059 install -m 644 -D include/audio_if_client.h -t $(STAGING_DIR)/usr/include
Pradeep Sriram4797eb52019-12-19 16:26:53 -080060 install -m 644 -D include/audio_if.h -t $(STAGING_DIR)/usr/include
Tim Yaoe8c0d4a2019-11-27 14:47:35 -080061 for f in $(@D)/include/hardware/*.h; do \
62 install -m 644 -D $${f} -t $(STAGING_DIR)/usr/include/hardware; \
63 done
64 for f in $(@D)/include/system/*.h; do \
65 install -m 644 -D $${f} -t $(STAGING_DIR)/usr/include/system; \
66 done
67
68.PHONY: clean
69clean:
70 rm -f audio_server
71 rm -f audio_client_test
72 rm -f audio_client_test_ac3
73 rm -rf $(STAGING_DIR)/usr/include/hardware
74 rm -rf $(STAGING_DIR)/usr/include/system
75 rm -f libaudio_client.so
76 rm -f $(TARGET_DIR)/usr/bin/audio_server
77 rm -f $(TARGET_DIR)/usr/bin/audio_client_test
78 rm -f $(TARGET_DIR)/usr/bin/audio_client_test_ac3
79 rm -f $(TARGET_DIR)/usr/lib/libaudio_client.so
80 rm -f $(STAGING_DIR)/usr/lib/libaudio_client.so
81 rm -f $(STAGING_DIR)/usr/include/audio_if_client.h
82