Tim Yao | e8c0d4a | 2019-11-27 14:47:35 -0800 | [diff] [blame] | 1 | COMMON_OBJS=src/CircularBuffer.o |
| 2 | |
| 3 | PROTO_SRCS=src/audio_service.grpc.pb.cc src/audio_service.pb.cc |
| 4 | PROTO_OBJS+=$(PROTO_SRCS:.cc=.o) |
| 5 | |
| 6 | SERVER_OBJS=src/audio_server.o src/audio_if.o |
| 7 | CLIENT_OBJS=src/audio_client.o src/audio_if_client.o |
| 8 | |
| 9 | SERVER_OBJS+=$(COMMON_OBJS) $(PROTO_OBJS) |
| 10 | CLIENT_OBJS+=$(COMMON_OBJS) $(PROTO_OBJS) |
| 11 | |
| 12 | TEST_PCM_OBJS=src/test.o |
| 13 | TEST_DOLBY_OBJS=src/test_ac3.o |
Tim Yao | 5351d70 | 2020-01-20 16:56:42 -0800 | [diff] [blame^] | 14 | TEST_HALPLAY_OBJS=src/halplay.o |
Tim Yao | e8c0d4a | 2019-11-27 14:47:35 -0800 | [diff] [blame] | 15 | |
| 16 | PROTOC=$(HOST_DIR)/bin/protoc |
| 17 | PROTOC_INC=$(HOST_DIR)/include |
| 18 | GRPC_CPP_PLUGIN_PATH=$(HOST_DIR)/bin/grpc_cpp_plugin |
| 19 | |
| 20 | CFLAGS+=-fPIC -O2 -I$(PROTOC_INC) -I./include -I. -I./src |
| 21 | CXXFLAGS+=-std=c++14 |
| 22 | LDFLAGS+=-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 Yao | 5351d70 | 2020-01-20 16:56:42 -0800 | [diff] [blame^] | 39 | all: audio_server libaudio_client.so audio_client_test audio_client_test_ac3 halplay |
Tim Yao | e8c0d4a | 2019-11-27 14:47:35 -0800 | [diff] [blame] | 40 | |
| 41 | audio_server: $(SERVER_OBJS) |
| 42 | $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ |
| 43 | |
| 44 | libaudio_client.so: $(CLIENT_OBJS) |
| 45 | $(CC) $(CFLAGS) $(LDFLAGS) -shared -o $@ $^ |
| 46 | |
| 47 | audio_client_test: $(TEST_PCM_OBJS) libaudio_client.so |
| 48 | $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ |
| 49 | |
| 50 | audio_client_test_ac3: $(TEST_DOLBY_OBJS) libaudio_client.so |
| 51 | $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ |
| 52 | |
Tim Yao | 5351d70 | 2020-01-20 16:56:42 -0800 | [diff] [blame^] | 53 | halplay: $(TEST_HALPLAY_OBJS) libaudio_client.so |
| 54 | $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ |
| 55 | |
Tim Yao | e8c0d4a | 2019-11-27 14:47:35 -0800 | [diff] [blame] | 56 | .PHONY: install |
| 57 | install: |
| 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 Yao | 5351d70 | 2020-01-20 16:56:42 -0800 | [diff] [blame^] | 61 | install -m 755 -D halplay $(TARGET_DIR)/usr/bin/ |
Tim Yao | e8c0d4a | 2019-11-27 14:47:35 -0800 | [diff] [blame] | 62 | install -m 644 -D libaudio_client.so -t $(TARGET_DIR)/usr/lib/ |
Pradeep Sriram | 4797eb5 | 2019-12-19 16:26:53 -0800 | [diff] [blame] | 63 | install -m 644 -D libaudio_client.so -t $(STAGING_DIR)/usr/lib/ |
Tim Yao | e8c0d4a | 2019-11-27 14:47:35 -0800 | [diff] [blame] | 64 | install -m 644 -D include/audio_if_client.h -t $(STAGING_DIR)/usr/include |
Pradeep Sriram | 4797eb5 | 2019-12-19 16:26:53 -0800 | [diff] [blame] | 65 | install -m 644 -D include/audio_if.h -t $(STAGING_DIR)/usr/include |
Tim Yao | e8c0d4a | 2019-11-27 14:47:35 -0800 | [diff] [blame] | 66 | 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 |
| 74 | clean: |
| 75 | rm -f audio_server |
| 76 | rm -f audio_client_test |
| 77 | rm -f audio_client_test_ac3 |
Tim Yao | 5351d70 | 2020-01-20 16:56:42 -0800 | [diff] [blame^] | 78 | rm -f halplay |
Tim Yao | e8c0d4a | 2019-11-27 14:47:35 -0800 | [diff] [blame] | 79 | 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 Yao | 5351d70 | 2020-01-20 16:56:42 -0800 | [diff] [blame^] | 85 | rm -f $(TARGET_DIR)/usr/bin/halplay |
Tim Yao | e8c0d4a | 2019-11-27 14:47:35 -0800 | [diff] [blame] | 86 | 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 | |