@ -38,16 +38,23 @@ HOST_CXX = $(CXX)
HOST_LD = $( LD)
HOST_LDXX = $( LDXX)
i f e q ( $( DEBUG ) , )
CPPFLAGS += -O2
DEFINES += NDEBUG
TGTDIR = opt
e l s e
CPPFLAGS += -O0
DEFINES += _DEBUG DEBUG
TGTDIR = dbg
CONFIG ?= opt
VALID_CONFIG_opt = 1
CPPFLAGS_opt = -O2
DEFINES_opt = NDEBUG
VALID_CONFIG_dbg = 1
CPPFLAGS_dbg = -O0
DEFINES_dbg = _DEBUG DEBUG
i f n d e f V A L I D _ C O N F I G _ $( CONFIG )
$( error Invalid CONFIG value '$ ( CONFIG ) ')
e n d i f
CPPFLAGS += $( CPPFLAGS_$( CONFIG) )
DEFINES += $( DEFINES_$( CONFIG) )
CFLAGS += -std= c89 -pedantic
CXXFLAGS += -std= c++11
CPPFLAGS += -g -fPIC -Wall -Werror -Wno-long-long
@ -185,7 +192,7 @@ ifeq ($(DEP_MISSING),)
all : static shared \
% for tgt in targets :
% if tgt.build == 'all' :
bins/$( TGTDIR ) /${ tgt .name } \
bins/$( CONFIG ) /${ tgt .name } \
% e n d i f
% e n d f o r
@ -241,7 +248,7 @@ stop:
@false
% for tgt in targets :
${tgt.name} : bins /$( TGTDIR ) /${tgt .name }
${tgt.name} : bins /$( CONFIG ) /${tgt .name }
% e n d f o r
run_dep_checks :
@ -262,7 +269,7 @@ static: static_c static_cxx
static_c : dep_c \
% for lib in libs :
% if lib.build == 'all' and not lib.get('c++', False) :
libs/$( TGTDIR ) /lib${ lib .name } .a\
libs/$( CONFIG ) /lib${ lib .name } .a\
% e n d i f
% e n d f o r
@ -270,7 +277,7 @@ static_c: dep_c\
static_cxx : dep_cxx \
% for lib in libs :
% if lib.build == 'all' and lib.get('c++', False) :
libs/$( TGTDIR ) /lib${ lib .name } .a\
libs/$( CONFIG ) /lib${ lib .name } .a\
% e n d i f
% e n d f o r
@ -280,7 +287,7 @@ shared: shared_c shared_cxx
shared_c : dep_c \
% for lib in libs :
% if lib.build == 'all' and not lib.get('c++', False) :
libs/$( TGTDIR ) /lib${ lib .name } .$( SHARED_EXT) \
libs/$( CONFIG ) /lib${ lib .name } .$( SHARED_EXT) \
% e n d i f
% e n d f o r
@ -288,7 +295,7 @@ shared_c: dep_c\
shared_cxx : dep_cxx \
% for lib in libs :
% if lib.build == 'all' and lib.get('c++', False) :
libs/$( TGTDIR ) /lib${ lib .name } .$( SHARED_EXT) \
libs/$( CONFIG ) /lib${ lib .name } .$( SHARED_EXT) \
% e n d i f
% e n d f o r
@ -298,7 +305,7 @@ privatelibs: privatelibs_c privatelibs_cxx
privatelibs_c : dep_c \
% for lib in libs :
% if lib.build == 'private' :
libs/$( TGTDIR ) /lib${ lib .name } .a\
libs/$( CONFIG ) /lib${ lib .name } .a\
% e n d i f
% e n d f o r
@ -306,7 +313,7 @@ privatelibs_c: dep_c\
privatelibs_cxx : dep_cxx \
% for lib in libs :
% if lib.build == 'private' :
libs/$( TGTDIR ) /lib${ lib .name } .a\
libs/$( CONFIG ) /lib${ lib .name } .a\
% e n d i f
% e n d f o r
@ -316,7 +323,7 @@ buildtests: buildtests_c buildtests_cxx
buildtests_c : bins_dep_c privatelibs_c \
% for tgt in targets :
% if tgt.build == 'test' and not tgt.get('c++', False) :
bins/$( TGTDIR ) /${ tgt .name } \
bins/$( CONFIG ) /${ tgt .name } \
% e n d i f
% e n d f o r
@ -335,7 +342,7 @@ test_c: buildtests_c
% for tgt in targets :
% if tgt.build == 'test' and tgt.get('run', True) and not tgt.get('c++', False) :
$( E) " [RUN] Testing ${ tgt .name } "
$( Q) ./bins/$( TGTDIR ) /${ tgt .name } || ( echo test ${ tgt .name } failed ; exit 1 )
$( Q) ./bins/$( CONFIG ) /${ tgt .name } || ( echo test ${ tgt .name } failed ; exit 1 )
% e n d i f
% e n d f o r
@ -344,7 +351,7 @@ test_cxx: buildtests_cxx
% for tgt in targets :
% if tgt.build == 'test' and tgt.get('run', True) and tgt.get('c++', False) :
$( E) " [RUN] Testing ${ tgt .name } "
$( Q) ./bins/$( TGTDIR ) /${ tgt .name } || ( echo test ${ tgt .name } failed ; exit 1 )
$( Q) ./bins/$( CONFIG ) /${ tgt .name } || ( echo test ${ tgt .name } failed ; exit 1 )
% e n d i f
% e n d f o r
@ -352,7 +359,7 @@ test_cxx: buildtests_cxx
tools : privatelibs \
% for tgt in targets :
% if tgt.build == 'tool' :
bins/$( TGTDIR ) /${ tgt .name } \
bins/$( CONFIG ) /${ tgt .name } \
% e n d i f
% e n d f o r
@ -360,7 +367,7 @@ tools: privatelibs\
protoc_plugins : \
% for tgt in targets :
% if tgt.build == 'protoc' :
bins/$( TGTDIR ) /${ tgt .name } \
bins/$( CONFIG ) /${ tgt .name } \
% e n d i f
% e n d f o r
@ -368,7 +375,7 @@ protoc_plugins:\
buildbenchmarks : privatelibs \
% for tgt in targets :
% if tgt.build == 'benchmark' :
bins/$( TGTDIR ) /${ tgt .name } \
bins/$( CONFIG ) /${ tgt .name } \
% e n d i f
% e n d f o r
@ -386,7 +393,7 @@ strip-static_c: static_c
% if not lib.get("c++", False) :
% if lib.build == "all" :
$( E) " [STRIP] Stripping lib ${ lib .name } .a "
$( Q) $( STRIP) libs/$( TGTDIR ) /lib${ lib .name } .a
$( Q) $( STRIP) libs/$( CONFIG ) /lib${ lib .name } .a
% e n d i f
% e n d i f
% e n d f o r
@ -396,7 +403,7 @@ strip-static_cxx: static_cxx
% if lib.get("c++", False) :
% if lib.build == "all" :
$( E) " [STRIP] Stripping lib ${ lib .name } .a "
$( Q) $( STRIP) libs/$( TGTDIR ) /lib${ lib .name } .a
$( Q) $( STRIP) libs/$( CONFIG ) /lib${ lib .name } .a
% e n d i f
% e n d i f
% e n d f o r
@ -406,7 +413,7 @@ strip-shared_c: shared_c
% if not lib.get("c++", False) :
% if lib.build == "all" :
$( E) " [STRIP] Stripping lib ${ lib .name } .so "
$( Q) $( STRIP) libs/$( TGTDIR ) /lib${ lib .name } .$( SHARED_EXT)
$( Q) $( STRIP) libs/$( CONFIG ) /lib${ lib .name } .$( SHARED_EXT)
% e n d i f
% e n d i f
% e n d f o r
@ -416,49 +423,49 @@ strip-shared_cxx: shared_cxx
% if lib.get("c++", False) :
% if lib.build == "all" :
$( E) " [STRIP] Stripping lib ${ lib .name } .so "
$( Q) $( STRIP) libs/$( TGTDIR ) /lib${ lib .name } .$( SHARED_EXT)
$( Q) $( STRIP) libs/$( CONFIG ) /lib${ lib .name } .$( SHARED_EXT)
% e n d i f
% e n d i f
% e n d f o r
% for p in protos :
deps/$(TGTDIR )/gens/${p}.pb.dep :
deps/$(CONFIG )/gens/${p}.pb.dep :
$( Q) mkdir -p ` dirname $@ `
$( Q) touch $@
gens/${p}.pb.cc : ${p }.proto 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/$( TGTDIR ) /cpp_plugin $<
$( Q) $( PROTOC) --cpp_out= gens --grpc_out= gens --plugin= protoc-gen-grpc= bins/$( CONFIG ) /cpp_plugin $<
% e n d f o r
deps/$(TGTDIR )/%.dep : %.c
deps/$(CONFIG )/%.dep : %.c
$( E) " [DEP] Generating dependencies for $< "
$( Q) mkdir -p ` dirname $@ `
$( Q) $( CC) $( CFLAGS) $( CPPFLAGS_NO_ARCH) -MG -M $< > $@
deps/$(TGTDIR )/%.dep : %.cc
deps/$(CONFIG )/%.dep : %.cc
$( E) " [DEP] Generating dependencies for $< "
$( Q) mkdir -p ` dirname $@ `
$( Q) $( CXX) $( CXXFLAGS) $( CPPFLAGS_NO_ARCH) -MG -M $< > $@
objs/$(TGTDIR )/%.o : %.c
objs/$(CONFIG )/%.o : %.c
$( E) " [C] Compiling $< "
$( Q) mkdir -p ` dirname $@ `
$( Q) $( CC) $( CFLAGS) $( CPPFLAGS) -c -o $@ $<
objs/$(TGTDIR )/%.o : gens /%.pb .cc
objs/$(CONFIG )/%.o : gens /%.pb .cc
$( E) " [CXX] Compiling $< "
$( Q) mkdir -p ` dirname $@ `
$( Q) $( CXX) $( CXXFLAGS) $( CPPFLAGS) -c -o $@ $<
objs/$(TGTDIR )/src/compiler/%.o : src /compiler /%.cc
objs/$(CONFIG )/src/compiler/%.o : src /compiler /%.cc
$( E) " [HOSTCXX] Compiling $< "
$( Q) mkdir -p ` dirname $@ `
$( Q) $( HOST_CXX) $( HOST_CXXFLAGS) $( HOST_CPPFLAGS) -c -o $@ $<
objs/$(TGTDIR )/%.o : %.cc
objs/$(CONFIG )/%.o : %.cc
$( E) " [CXX] Compiling $< "
$( Q) mkdir -p ` dirname $@ `
$( Q) $( CXX) $( CXXFLAGS) $( CPPFLAGS) -c -o $@ $<
@ -520,7 +527,7 @@ install-static_c: static_c strip-static_c
% if not lib.get("c++", False) :
% if lib.build == "all" :
$( E) " [INSTALL] Installing lib ${ lib .name } .a "
$( Q) $( INSTALL) libs/$( TGTDIR ) /lib${ lib .name } .a $( prefix) /lib/lib${ lib .name } .a
$( Q) $( INSTALL) libs/$( CONFIG ) /lib${ lib .name } .a $( prefix) /lib/lib${ lib .name } .a
% e n d i f
% e n d i f
% e n d f o r
@ -530,7 +537,7 @@ install-static_cxx: static_cxx strip-static_cxx
% if lib.get("c++", False) :
% if lib.build == "all" :
$( E) " [INSTALL] Installing lib ${ lib .name } .a "
$( Q) $( INSTALL) libs/$( TGTDIR ) /lib${ lib .name } .a $( prefix) /lib/lib${ lib .name } .a
$( Q) $( INSTALL) libs/$( CONFIG ) /lib${ lib .name } .a $( prefix) /lib/lib${ lib .name } .a
% e n d i f
% e n d i f
% e n d f o r
@ -541,11 +548,11 @@ install-shared_c: shared_c strip-shared_c
% if lib.build == "all" :
i f e q ( $( SYSTEM ) , M I N G W 3 2 )
$( E) " [INSTALL] Installing ${ lib .name } . $( SHARED_EXT) "
$( Q) $( INSTALL) libs/$( TGTDIR ) /${ lib .name } .$( SHARED_EXT) $( prefix) /lib/${ lib .name } .$( SHARED_EXT)
$( Q) $( INSTALL) libs/$( TGTDIR ) /lib${ lib .name } -imp.a $( prefix) /lib/lib${ lib .name } -imp.a
$( Q) $( INSTALL) libs/$( CONFIG ) /${ lib .name } .$( SHARED_EXT) $( prefix) /lib/${ lib .name } .$( SHARED_EXT)
$( Q) $( INSTALL) libs/$( CONFIG ) /lib${ lib .name } -imp.a $( prefix) /lib/lib${ lib .name } -imp.a
e l s e
$( E) " [INSTALL] Installing lib ${ lib .name } . $( SHARED_EXT) "
$( Q) $( INSTALL) libs/$( TGTDIR ) /lib${ lib .name } .$( SHARED_EXT) $( prefix) /lib/lib${ lib .name } .$( SHARED_EXT)
$( Q) $( INSTALL) libs/$( CONFIG ) /lib${ lib .name } .$( SHARED_EXT) $( prefix) /lib/lib${ lib .name } .$( SHARED_EXT)
i f n e q ( $( SYSTEM ) , D a r w i n )
$( Q) ln -sf lib${ lib .name } .$( SHARED_EXT) $( prefix) /lib/lib${ lib .name } .so
e n d i f
@ -565,11 +572,11 @@ install-shared_cxx: shared_cxx strip-shared_cxx
% if lib.build == "all" :
i f e q ( $( SYSTEM ) , M I N G W 3 2 )
$( E) " [INSTALL] Installing ${ lib .name } . $( SHARED_EXT) "
$( Q) $( INSTALL) libs/$( TGTDIR ) /${ lib .name } .$( SHARED_EXT) $( prefix) /lib/${ lib .name } .$( SHARED_EXT)
$( Q) $( INSTALL) libs/$( TGTDIR ) /lib${ lib .name } -imp.a $( prefix) /lib/lib${ lib .name } -imp.a
$( Q) $( INSTALL) libs/$( CONFIG ) /${ lib .name } .$( SHARED_EXT) $( prefix) /lib/${ lib .name } .$( SHARED_EXT)
$( Q) $( INSTALL) libs/$( CONFIG ) /lib${ lib .name } -imp.a $( prefix) /lib/lib${ lib .name } -imp.a
e l s e
$( E) " [INSTALL] Installing lib ${ lib .name } . $( SHARED_EXT) "
$( Q) $( INSTALL) libs/$( TGTDIR ) /lib${ lib .name } .$( SHARED_EXT) $( prefix) /lib/lib${ lib .name } .$( SHARED_EXT)
$( Q) $( INSTALL) libs/$( CONFIG ) /lib${ lib .name } .$( SHARED_EXT) $( prefix) /lib/lib${ lib .name } .$( SHARED_EXT)
i f n e q ( $( SYSTEM ) , D a r w i n )
$( Q) ln -sf lib${ lib .name } .$( SHARED_EXT) $( prefix) /lib/lib${ lib .name } .so
e n d i f
@ -629,38 +636,38 @@ PUBLIC_HEADERS_C += \\
% e n d f o r
% e n d i f
LIB${lib.name.upper()}_OBJS = $( addprefix objs/$( TGTDIR ) /, $( addsuffix .o, $( basename $( LIB${ lib .name.upper() } _SRC) ) ) )
LIB${lib.name.upper()}_DEPS = $( addprefix deps/$( TGTDIR ) /, $( addsuffix .dep, $( basename $( LIB${ lib .name.upper() } _SRC) ) ) )
LIB${lib.name.upper()}_OBJS = $( addprefix objs/$( CONFIG ) /, $( addsuffix .o, $( basename $( LIB${ lib .name.upper() } _SRC) ) ) )
LIB${lib.name.upper()}_DEPS = $( addprefix deps/$( CONFIG ) /, $( addsuffix .dep, $( basename $( LIB${ lib .name.upper() } _SRC) ) ) )
% if lib.get('secure', True) :
i f e q ( $( NO_SECURE ) , t r u e )
libs/$(TGTDIR )/lib${lib.name}.a : openssl_dep_error
libs/$(CONFIG )/lib${lib.name}.a : openssl_dep_error
% if lib.build == "all" :
i f e q ( $( SYSTEM ) , M I N G W 3 2 )
libs/$(TGTDIR )/${lib.name}.$(SHARED_EXT) : openssl_dep_error
libs/$(CONFIG )/${lib.name}.$(SHARED_EXT) : openssl_dep_error
e l s e
libs/$(TGTDIR )/lib${lib.name}.$(SHARED_EXT) : openssl_dep_error
libs/$(CONFIG )/lib${lib.name}.$(SHARED_EXT) : openssl_dep_error
e n d i f
% e n d i f
e l s e
libs/$(TGTDIR )/lib${lib.name}.a : $( OPENSSL_DEP ) $( LIB $ {lib .name .upper ( ) }_OBJS )
libs/$(CONFIG )/lib${lib.name}.a : $( OPENSSL_DEP ) $( LIB $ {lib .name .upper ( ) }_OBJS )
% else :
libs/$(TGTDIR )/lib${lib.name}.a : $( LIB $ {lib .name .upper ( ) }_OBJS )
libs/$(CONFIG )/lib${lib.name}.a : $( LIB $ {lib .name .upper ( ) }_OBJS )
% e n d i f
$( E) " [AR] Creating $@ "
$( Q) mkdir -p ` dirname $@ `
$( Q) $( AR) rcs libs/$( TGTDIR ) /lib${ lib .name } .a $( LIB${ lib .name.upper() } _OBJS)
$( Q) $( AR) rcs libs/$( CONFIG ) /lib${ lib .name } .a $( LIB${ lib .name.upper() } _OBJS)
% if lib.get('baselib', False) :
% if lib.get('secure', True) :
$( Q) mkdir tmp-merge
$( Q) ( cd tmp-merge ; $( AR) x ../libs/$( TGTDIR ) /lib${ lib .name } .a )
$( Q) ( cd tmp-merge ; $( AR) x ../libs/$( 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 libs/$( TGTDIR ) /lib${ lib .name } .a tmp-merge/__.SYMDEF*
$( Q) ar rcs libs/$( TGTDIR ) /lib${ lib .name } .a tmp-merge/*
$( Q) rm -f libs/$( CONFIG ) /lib${ lib .name } .a tmp-merge/__.SYMDEF*
$( Q) ar rcs libs/$( CONFIG ) /lib${ lib .name } .a tmp-merge/*
$( Q) rm -rf tmp-merge
% e n d i f
% e n d i f
@ -671,8 +678,8 @@ libs/$(TGTDIR)/lib${lib.name}.a: $(LIB${lib.name.upper()}_OBJS)
else :
ld = '$(LD)'
out_base = 'libs/$(TGTDIR )/' + lib.name
out_libbase = 'libs/$(TGTDIR )/lib' + lib.name
out_base = 'libs/$(CONFIG )/' + lib.name
out_libbase = 'libs/$(CONFIG )/lib' + lib.name
common = '$(LIB' + lib.name.upper( ) + '_OBJS) $(LDLIBS)'
@ -682,9 +689,9 @@ libs/$(TGTDIR)/lib${lib.name}.a: $(LIB${lib.name.upper()}_OBJS)
mingw_lib_deps = ''
for dep in lib.get( 'deps' , [ ] ) :
libs = libs + ' -l' + dep
lib_deps = lib_deps + 'libs/$(TGTDIR )/lib' + dep + '.$(SHARED_EXT)'
lib_deps = lib_deps + 'libs/$(CONFIG )/lib' + dep + '.$(SHARED_EXT)'
mingw_libs = mingw_libs + ' -l' + dep + '-imp'
mingw_lib_deps = mingw_lib_deps + 'libs/$(TGTDIR )/' + dep + '.$(SHARED_EXT)'
mingw_lib_deps = mingw_lib_deps + 'libs/$(CONFIG )/' + dep + '.$(SHARED_EXT)'
if lib.get( 'secure' , True) :
common = common + ' $(LDLIBS_SECURE) $(OPENSSL_MERGE_LIBS)'
@ -698,15 +705,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/$( TGTDIR ) -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) -Llibs/$( CONFIG ) -shared -Wl,--output-def= ${ out_base } .def -Wl,--out-implib= ${ out_libbase } -imp.a -o ${ out_base } .$( SHARED_EXT) ${ common } ${ mingw_libs }
e l s e
${out_libbase}.$(SHARED_EXT) : $( LIB $ {lib .name .upper ( ) }_OBJS ) ${lib_deps }
$( E) " [LD] Linking $@ "
$( Q) mkdir -p ` dirname $@ `
i f e q ( $( SYSTEM ) , D a r w i n )
$( Q) ${ ld } $( LDFLAGS) -Llibs/$( TGTDIR ) -dynamiclib -o ${ out_libbase } .$( SHARED_EXT) ${ common } ${ libs }
$( Q) ${ ld } $( LDFLAGS) -Llibs/$( CONFIG ) -dynamiclib -o ${ out_libbase } .$( SHARED_EXT) ${ common } ${ libs }
e l s e
$( Q) ${ ld } $( LDFLAGS) -Llibs/$( TGTDIR ) -shared -Wl,-soname,lib${ lib .name } .so.${ settings .version.major } -o ${ out_libbase } .$( SHARED_EXT) ${ common } ${ libs }
$( Q) ${ ld } $( LDFLAGS) -Llibs/$( 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
e n d i f
e n d i f
@ -733,8 +740,8 @@ clean_lib${lib.name}:
$( E) " [CLEAN] Cleaning lib ${ lib .name } files "
$( Q) $( RM) $( LIB${ lib .name.upper() } _OBJS)
$( Q) $( RM) $( LIB${ lib .name.upper() } _DEPS)
$( Q) $( RM) libs/$( TGTDIR ) /lib${ lib .name } .a
$( Q) $( RM) libs/$( TGTDIR ) /lib${ lib .name } .$( SHARED_EXT)
$( Q) $( RM) libs/$( CONFIG ) /lib${ lib .name } .a
$( Q) $( RM) libs/$( CONFIG ) /lib${ lib .name } .$( SHARED_EXT)
< / % d e f >
< % d e f name = "maketarget(tgt)" >
@ -745,20 +752,20 @@ ${tgt.name.upper()}_SRC = \\
% e n d f o r
${tgt.name.upper()}_OBJS = $( addprefix objs/$( TGTDIR ) /, $( addsuffix .o, $( basename $( ${ tgt .name.upper() } _SRC) ) ) )
${tgt.name.upper()}_DEPS = $( addprefix deps/$( TGTDIR ) /, $( addsuffix .dep, $( basename $( ${ tgt .name.upper() } _SRC) ) ) )
${tgt.name.upper()}_OBJS = $( addprefix objs/$( CONFIG ) /, $( addsuffix .o, $( basename $( ${ tgt .name.upper() } _SRC) ) ) )
${tgt.name.upper()}_DEPS = $( addprefix deps/$( CONFIG ) /, $( addsuffix .dep, $( basename $( ${ tgt .name.upper() } _SRC) ) ) )
% if tgt.get('secure', True) :
i f e q ( $( NO_SECURE ) , t r u e )
bins/$(TGTDIR )/${tgt.name} : openssl_dep_error
bins/$(CONFIG )/${tgt.name} : openssl_dep_error
e l s e
% e n d i f
bins/$(TGTDIR )/${tgt.name} : $( $ {tgt .name .upper ( ) }_OBJS ) \
bins/$(CONFIG )/${tgt.name} : $( $ {tgt .name .upper ( ) }_OBJS ) \
% for dep in tgt.deps :
libs/$( TGTDIR ) /lib${ dep } .a\
libs/$( CONFIG ) /lib${ dep } .a\
% e n d f o r
% if tgt.get("c++", False) :
@ -780,7 +787,7 @@ bins/$(TGTDIR)/${tgt.name}: $(${tgt.name.upper()}_OBJS)\
$( Q) $( LD) $( LDFLAGS) $( ${ tgt .name.upper() } _OBJS) \
% e n d i f
% for dep in tgt.deps :
libs/$( TGTDIR ) /lib${ dep } .a\
libs/$( CONFIG ) /lib${ dep } .a\
% e n d f o r
% if tgt.get("c++", False) :
% if tgt.build == 'protoc' :
@ -799,7 +806,7 @@ bins/$(TGTDIR)/${tgt.name}: $(${tgt.name.upper()}_OBJS)\
% elif tgt.get('secure', True) :
$( LDLIBS_SECURE) \
% e n d i f
-o bins/$( TGTDIR ) /${ tgt .name }
-o bins/$( CONFIG ) /${ tgt .name }
% if tgt.get('secure', True) :
e n d i f
@ -821,7 +828,7 @@ clean_${tgt.name}:
$( E) " [CLEAN] Cleaning ${ tgt .name } files "
$( Q) $( RM) $( ${ tgt .name.upper() } _OBJS)
$( Q) $( RM) $( ${ tgt .name.upper() } _DEPS)
$( Q) $( RM) bins/$( TGTDIR ) /${ tgt .name }
$( Q) $( RM) bins/$( CONFIG ) /${ tgt .name }
< / % d e f >
.PHONY : all strip tools \