github.com/alwaysproblem/mlserving-tutorial@v0.0.0-20221124033215-121cfddbfbf4/TFserving/ClientAPI/cpp/make-static-lib/src/static-lib/Makefile (about) 1 # source files. 2 TFDIRS = $(shell find /cpp/src/gen -type d) 3 4 TARGET := libtfserving.a 5 6 # compile and lib parameter 7 CC := g++ 8 AR = ar 9 RANLIB = ranlib 10 LIBS := -lboost_program_options -lprotobuf -pthread -lgrpc++ -lgrpc -lgpr \ 11 -laddress_sorting -lgrpc++_alts -lgrpc++_error_details -lgrpc++_reflection \ 12 -lgrpc++_unsecure -lgrpc_plugin_support -lgrpc_unsecure -lgrpcpp_channelz -lupb \ 13 -labsl_base \ 14 -labsl_str_format_internal \ 15 -labsl_strings_internal \ 16 -labsl_strings \ 17 -labsl_dynamic_annotations \ 18 -labsl_flags_program_name \ 19 -labsl_time \ 20 -labsl_int128 \ 21 -labsl_flags_usage \ 22 -labsl_malloc_internal \ 23 -labsl_city \ 24 -labsl_random_internal_randen_hwaes \ 25 -labsl_raw_logging_internal \ 26 -labsl_random_internal_seed_material \ 27 -labsl_flags_parse \ 28 -labsl_random_distributions \ 29 -labsl_failure_signal_handler \ 30 -labsl_spinlock_wait \ 31 -labsl_random_seed_gen_exception \ 32 -labsl_bad_variant_access \ 33 -labsl_log_severity \ 34 -labsl_examine_stack \ 35 -labsl_graphcycles_internal \ 36 -labsl_leak_check_disable \ 37 -labsl_scoped_set_env \ 38 -labsl_debugging_internal \ 39 -labsl_cord \ 40 -labsl_synchronization \ 41 -labsl_periodic_sampler \ 42 -labsl_raw_hash_set \ 43 -labsl_stacktrace \ 44 -labsl_flags_usage_internal \ 45 -labsl_flags_internal \ 46 -labsl_time_zone \ 47 -labsl_exponential_biased \ 48 -labsl_throw_delegate \ 49 -labsl_bad_optional_access \ 50 -labsl_random_internal_pool_urbg \ 51 -labsl_symbolize \ 52 -labsl_flags_marshalling \ 53 -labsl_random_seed_sequences \ 54 -labsl_status \ 55 -labsl_hash \ 56 -labsl_random_internal_randen \ 57 -labsl_flags_config \ 58 -labsl_random_internal_randen_hwaes_impl \ 59 -labsl_random_internal_randen_slow \ 60 -labsl_flags_registry \ 61 -labsl_demangle_internal \ 62 -labsl_flags \ 63 -labsl_bad_any_cast_impl \ 64 -labsl_leak_check \ 65 -labsl_random_internal_distribution_test_util \ 66 -labsl_civil_time \ 67 -labsl_hashtablez_sampler \ 68 -lcares -lz -lssl -lcrypto \ 69 -Wl,--no-as-needed -lgrpc++_reflection -Wl,--as-needed \ 70 -ldl 71 72 LDFLAGS := -L/usr/local/lib -L/grpc/cmake/build -L/usr/lib -L/grpc/cmake/build/third_party/boringssl-with-bazel \ 73 -L/grpc/cmake/build/third_party/abseil-cpp/absl/base \ 74 -L/grpc/cmake/build/third_party/abseil-cpp/absl/strings \ 75 -L/grpc/cmake/build/third_party/abseil-cpp/absl/container \ 76 -L/grpc/cmake/build/third_party/abseil-cpp/absl/flags \ 77 -L/grpc/cmake/build/third_party/abseil-cpp/absl/synchronization \ 78 -L/grpc/cmake/build/third_party/zlib -L/grpc/cmake/build/third_party/abseil-cpp/absl/time \ 79 -L/grpc/cmake/build/third_party/abseil-cpp/absl/random \ 80 -L/grpc/cmake/build/third_party/abseil-cpp/absl/types -L/grpc/cmake/build/third_party/boringssl-with-bazel \ 81 -L/grpc/cmake/build/third_party/abseil-cpp/absl/status -L/grpc/cmake/build/third_party/abseil-cpp/absl/hash \ 82 -L/grpc/cmake/build/third_party/abseil-cpp/absl/debugging -L/grpc/cmake/build/third_party/abseil-cpp/absl/numeric \ 83 -L/grpc/cmake/build/third_party/cares/cares/lib 84 DEFINES := -c 85 INCLUDE := -I/usr/local/include -I/cpp/src/gen 86 CFLAGS := -Wall -O3 -std=c++11 $(DEFINES) $(INCLUDE) 87 88 SOURCE := $(foreach dir,$(TFDIRS),$(wildcard $(dir)/**.cc)) $(wildcard *.cc) 89 OBJ = ./obj 90 91 OBJS = $(SOURCE:%.cc=$(OBJ)/%.o) 92 93 .PHONY : everything objs clean cleanall rebuild 94 95 everything : $(TARGET) 96 97 all : $(TARGET) 98 99 objs : $(OBJS) 100 101 rebuild: cleanall everything 102 103 clean : 104 rm -rf $(OBJ) 105 106 cleanall : clean 107 rm -fr $(TARGET) 108 109 $(OBJS): $(OBJ)/%.o: %.cc 110 @echo Compiling $< 111 @mkdir -p $(@D) 112 @$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) $(LIBS) 113 114 $(TARGET) : $(OBJS) 115 $(AR) cruv $(TARGET) $(OBJS) 116 $(RANLIB) $(TARGET) 117 @echo "Build successful!"