blob: 20fc9bf625c3dfcfd3f187fb5eabb2f608e6c368 [file] [log] [blame]
# Copyright 2022 Meta
# SPDX-License-Identifier: Apache-2.0
.PHONY: all clean
CXXFLAGS :=
CXXFLAGS += -std=c++17
GEN_DIR = gen-cpp
GENSRC = $(GEN_DIR)/Hello.cpp $(GEN_DIR)/Hello.h $(GEN_DIR)/hello_types.h
GENHDR = $(filter %.h, $(GENSRC))
GENOBJ = $(filter-out %.h, $(GENSRC:.cpp=.o))
THRIFT_FLAGS :=
THRIFT_FLAGS += $(shell pkg-config --cflags thrift)
THRIFT_FLAGS += -I$(GEN_DIR)
THRIFT_LIBS :=
THRIFT_LIBS = $(shell pkg-config --libs thrift)
all: hello_server hello_server_compact hello_server_ssl
hello_server.stamp: ../hello.thrift
thrift --gen cpp:no_skeleton $<
$(GENSRC): hello_server.stamp
%.o: %.cpp $(GENHDR)
$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(THRIFT_FLAGS) -o $@ -c $<
hello_server: src/main.cpp $(GENOBJ) $(GENHDR)
$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(THRIFT_FLAGS) -o $@ $< $(GENOBJ) $(THRIFT_LIBS)
hello_server_compact: src/main.cpp $(GENOBJ) $(GENHDR)
$(CXX) -DCONFIG_THRIFT_COMPACT_PROTOCOL=1 $(CPPFLAGS) $(CXXFLAGS) $(THRIFT_FLAGS) -o $@ $< $(GENOBJ) $(THRIFT_LIBS)
hello_server_ssl: src/main.cpp $(GENOBJ) $(GENHDR)
$(CXX) -DCONFIG_THRIFT_SSL_SOCKET=1 $(CPPFLAGS) $(CXXFLAGS) $(THRIFT_FLAGS) -o $@ $< $(GENOBJ) $(THRIFT_LIBS)
clean:
rm -Rf hello_server hello_server_compact hello_server_ssl $(GEN_DIR)