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!"