|
|
|
@ -16,7 +16,7 @@ |
|
|
|
|
m = proto_re.match(filename)
|
|
|
|
|
if not m:
|
|
|
|
|
return filename
|
|
|
|
|
return 'gens/' + m.group(1) + '.pb.cc'
|
|
|
|
|
return '$(GENDIR)/' + m.group(1) + '.pb.cc'
|
|
|
|
|
%> |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -163,7 +163,7 @@ CXXFLAGS += -std=c++11 |
|
|
|
|
CPPFLAGS += -g -fPIC -Wall -Wextra -Werror -Wno-long-long -Wno-unused-parameter
|
|
|
|
|
LDFLAGS += -g -fPIC
|
|
|
|
|
|
|
|
|
|
INCLUDES = . include gens
|
|
|
|
|
INCLUDES = . include $(GENDIR)
|
|
|
|
|
ifeq ($(SYSTEM),Darwin) |
|
|
|
|
LIBS = m z
|
|
|
|
|
else |
|
|
|
@ -272,7 +272,7 @@ ifeq ($(HAS_SYSTEM_ZLIB),false) |
|
|
|
|
ifeq ($(HAS_EMBEDDED_ZLIB),true) |
|
|
|
|
ZLIB_DEP = $(LIBDIR)/$(CONFIG)/zlib/libz.a
|
|
|
|
|
CPPFLAGS += -Ithird_party/zlib
|
|
|
|
|
LDFLAGS += -Llibs/$(CONFIG)/zlib
|
|
|
|
|
LDFLAGS += -L$(LIBDIR)/$(CONFIG)/zlib
|
|
|
|
|
else |
|
|
|
|
DEP_MISSING += zlib
|
|
|
|
|
endif |
|
|
|
@ -283,7 +283,7 @@ ifeq ($(HAS_EMBEDDED_OPENSSL_ALPN),true) |
|
|
|
|
OPENSSL_DEP = $(LIBDIR)/$(CONFIG)/openssl/libssl.a
|
|
|
|
|
OPENSSL_MERGE_LIBS += $(LIBDIR)/$(CONFIG)/openssl/libssl.a $(LIBDIR)/$(CONFIG)/openssl/libcrypto.a
|
|
|
|
|
CPPFLAGS += -Ithird_party/openssl/include
|
|
|
|
|
LDFLAGS += -Llibs/$(CONFIG)/openssl
|
|
|
|
|
LDFLAGS += -L$(LIBDIR)/$(CONFIG)/openssl
|
|
|
|
|
LIBS_SECURE = dl
|
|
|
|
|
else |
|
|
|
|
NO_SECURE = true
|
|
|
|
@ -298,7 +298,7 @@ ifeq ($(HAS_SYSTEM_PROTOBUF),false) |
|
|
|
|
ifeq ($(HAS_EMBEDDED_PROTOBUF),true) |
|
|
|
|
PROTOBUF_DEP = $(LIBDIR)/$(CONFIG)/protobuf/libprotobuf.a
|
|
|
|
|
CPPFLAGS += -Ithird_party/protobuf/src
|
|
|
|
|
LDFLAGS += -Llibs/$(CONFIG)/protobuf
|
|
|
|
|
LDFLAGS += -L$(LIBDIR)/$(CONFIG)/protobuf
|
|
|
|
|
PROTOC = $(BINDIR)/$(CONFIG)/protobuf/protoc
|
|
|
|
|
else |
|
|
|
|
NO_PROTOBUF = true
|
|
|
|
@ -540,7 +540,7 @@ test_c: buildtests_c |
|
|
|
|
% for tgt in targets: |
|
|
|
|
% if tgt.build == 'test' and tgt.get('run', True) and not tgt.language == 'c++': |
|
|
|
|
$(E) "[RUN] Testing ${tgt.name}"
|
|
|
|
|
$(Q) ./bins/$(CONFIG)/${tgt.name} || ( echo test ${tgt.name} failed ; exit 1 )
|
|
|
|
|
$(Q) $(BINDIR)/$(CONFIG)/${tgt.name} || ( echo test ${tgt.name} failed ; exit 1 )
|
|
|
|
|
% endif |
|
|
|
|
% endfor |
|
|
|
|
|
|
|
|
@ -549,7 +549,7 @@ test_cxx: buildtests_cxx |
|
|
|
|
% for tgt in targets: |
|
|
|
|
% if tgt.build == 'test' and tgt.get('run', True) and tgt.language == 'c++': |
|
|
|
|
$(E) "[RUN] Testing ${tgt.name}"
|
|
|
|
|
$(Q) ./bins/$(CONFIG)/${tgt.name} || ( echo test ${tgt.name} failed ; exit 1 )
|
|
|
|
|
$(Q) $(BINDIR)/$(CONFIG)/${tgt.name} || ( echo test ${tgt.name} failed ; exit 1 )
|
|
|
|
|
% endif |
|
|
|
|
% endfor |
|
|
|
|
|
|
|
|
@ -638,7 +638,7 @@ else |
|
|
|
|
$(GENDIR)/${p}.pb.cc: ${p}.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) |
|
|
|
|
$(E) "[PROTOC] Generating protobuf CC file from $<"
|
|
|
|
|
$(Q) mkdir -p `dirname $@`
|
|
|
|
|
$(Q) $(PROTOC) --cpp_out=gens --grpc_out=gens --plugin=protoc-gen-grpc=bins/$(CONFIG)/cpp_plugin $<
|
|
|
|
|
$(Q) $(PROTOC) --cpp_out=$(GENDIR) --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(BINDIR)/$(CONFIG)/cpp_plugin $<
|
|
|
|
|
endif |
|
|
|
|
|
|
|
|
|
% endfor |
|
|
|
@ -751,7 +751,7 @@ endif |
|
|
|
|
endif |
|
|
|
|
|
|
|
|
|
clean: |
|
|
|
|
$(Q) $(RM) -rf objs libs bins gens
|
|
|
|
|
$(Q) $(RM) -rf $(OBJDIR) $(LIBDIR) $(BINDIR) $(GENDIR)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# The various libraries
|
|
|
|
@ -871,7 +871,7 @@ $(LIBDIR)/$(CONFIG)/lib${lib.name}.a: $(ZLIB_DEP)\ |
|
|
|
|
% if lib.get('secure', True): |
|
|
|
|
$(Q) rm -rf tmp-merge
|
|
|
|
|
$(Q) mkdir tmp-merge
|
|
|
|
|
$(Q) ( cd tmp-merge ; $(AR) x ../libs/$(CONFIG)/lib${lib.name}.a )
|
|
|
|
|
$(Q) ( cd tmp-merge ; $(AR) x ../$(LIBDIR)/$(CONFIG)/lib${lib.name}.a )
|
|
|
|
|
$(Q) for l in $(OPENSSL_MERGE_LIBS) ; do ( cd tmp-merge ; <%text>ar x ../$${l}</%text> ) ; done
|
|
|
|
|
$(Q) rm -f $(LIBDIR)/$(CONFIG)/lib${lib.name}.a tmp-merge/__.SYMDEF*
|
|
|
|
|
$(Q) ar rcs $(LIBDIR)/$(CONFIG)/lib${lib.name}.a tmp-merge/*
|
|
|
|
@ -888,8 +888,8 @@ endif |
|
|
|
|
else:
|
|
|
|
|
ld = '$(LD)'
|
|
|
|
|
|
|
|
|
|
out_base = 'libs/$(CONFIG)/' + lib.name
|
|
|
|
|
out_libbase = 'libs/$(CONFIG)/lib' + lib.name
|
|
|
|
|
out_base = '$(LIBDIR)/$(CONFIG)/' + lib.name
|
|
|
|
|
out_libbase = '$(LIBDIR)/$(CONFIG)/lib' + lib.name
|
|
|
|
|
|
|
|
|
|
common = '$(LIB' + lib.name.upper() + '_OBJS) $(LDLIBS)'
|
|
|
|
|
|
|
|
|
@ -901,7 +901,7 @@ endif |
|
|
|
|
libs = libs + ' -l' + dep
|
|
|
|
|
lib_deps = lib_deps + ' $(LIBDIR)/$(CONFIG)/lib' + dep + '.$(SHARED_EXT)'
|
|
|
|
|
mingw_libs = mingw_libs + ' -l' + dep + '-imp'
|
|
|
|
|
mingw_lib_deps = mingw_lib_deps + 'libs/$(CONFIG)/' + dep + '.$(SHARED_EXT)'
|
|
|
|
|
mingw_lib_deps = mingw_lib_deps + '$(LIBDIR)/$(CONFIG)/' + dep + '.$(SHARED_EXT)'
|
|
|
|
|
|
|
|
|
|
if lib.get('secure', True):
|
|
|
|
|
common = common + ' $(LDLIBS_SECURE) $(OPENSSL_MERGE_LIBS)'
|
|
|
|
@ -914,15 +914,15 @@ ifeq ($(SYSTEM),MINGW32) |
|
|
|
|
${out_base}.$(SHARED_EXT): $(LIB${lib.name.upper()}_OBJS) ${mingw_lib_deps} |
|
|
|
|
$(E) "[LD] Linking $@"
|
|
|
|
|
$(Q) mkdir -p `dirname $@`
|
|
|
|
|
$(Q) ${ld} $(LDFLAGS) -Llibs/$(CONFIG) -shared -Wl,--output-def=${out_base}.def -Wl,--out-implib=${out_libbase}-imp.a -o ${out_base}.$(SHARED_EXT) ${common}${mingw_libs}
|
|
|
|
|
$(Q) ${ld} $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,--output-def=${out_base}.def -Wl,--out-implib=${out_libbase}-imp.a -o ${out_base}.$(SHARED_EXT) ${common}${mingw_libs}
|
|
|
|
|
else |
|
|
|
|
${out_libbase}.$(SHARED_EXT): $(LIB${lib.name.upper()}_OBJS) ${lib_deps} |
|
|
|
|
$(E) "[LD] Linking $@"
|
|
|
|
|
$(Q) mkdir -p `dirname $@`
|
|
|
|
|
ifeq ($(SYSTEM),Darwin) |
|
|
|
|
$(Q) ${ld} $(LDFLAGS) -Llibs/$(CONFIG) -dynamiclib -o ${out_libbase}.$(SHARED_EXT) ${common}${libs}
|
|
|
|
|
$(Q) ${ld} $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -dynamiclib -o ${out_libbase}.$(SHARED_EXT) ${common}${libs}
|
|
|
|
|
else |
|
|
|
|
$(Q) ${ld} $(LDFLAGS) -Llibs/$(CONFIG) -shared -Wl,-soname,lib${lib.name}.so.${settings.version.major} -o ${out_libbase}.$(SHARED_EXT) ${common}${libs}
|
|
|
|
|
$(Q) ${ld} $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,lib${lib.name}.so.${settings.version.major} -o ${out_libbase}.$(SHARED_EXT) ${common}${libs}
|
|
|
|
|
$(Q) ln -sf lib${lib.name}.$(SHARED_EXT) ${out_libbase}.so.${settings.version.major}
|
|
|
|
|
$(Q) ln -sf lib${lib.name}.$(SHARED_EXT) ${out_libbase}.so
|
|
|
|
|
endif |
|
|
|
|