Allow specifying CONFIG as a string, instead of DEBUG=1.

This will open the way for CONFIG=tsan, for instance.
	Change on 2015/01/06 by ctiller <ctiller@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83368093
pull/1/merge
ctiller 10 years ago committed by Nicolas Noble
parent 5bcea0d0d5
commit cab52e76e5
  1. 3771
      Makefile
  2. 147
      templates/Makefile.template

3771
Makefile

File diff suppressed because one or more lines are too long

@ -38,16 +38,23 @@ HOST_CXX = $(CXX)
HOST_LD = $(LD)
HOST_LDXX = $(LDXX)
ifeq ($(DEBUG),)
CPPFLAGS += -O2
DEFINES += NDEBUG
TGTDIR = opt
else
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
ifndef VALID_CONFIG_$(CONFIG)
$(error Invalid CONFIG value '$(CONFIG)')
endif
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}\
% endif
% endfor
@ -241,7 +248,7 @@ stop:
@false
% for tgt in targets:
${tgt.name}: bins/$(TGTDIR)/${tgt.name}
${tgt.name}: bins/$(CONFIG)/${tgt.name}
% endfor
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\
% endif
% endfor
@ -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\
% endif
% endfor
@ -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)\
% endif
% endfor
@ -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)\
% endif
% endfor
@ -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\
% endif
% endfor
@ -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\
% endif
% endfor
@ -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}\
% endif
% endfor
@ -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 )
% endif
% endfor
@ -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 )
% endif
% endfor
@ -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}\
% endif
% endfor
@ -360,7 +367,7 @@ tools: privatelibs\
protoc_plugins:\
% for tgt in targets:
% if tgt.build == 'protoc':
bins/$(TGTDIR)/${tgt.name}\
bins/$(CONFIG)/${tgt.name}\
% endif
% endfor
@ -368,7 +375,7 @@ protoc_plugins:\
buildbenchmarks: privatelibs\
% for tgt in targets:
% if tgt.build == 'benchmark':
bins/$(TGTDIR)/${tgt.name}\
bins/$(CONFIG)/${tgt.name}\
% endif
% endfor
@ -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
% endif
% endif
% endfor
@ -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
% endif
% endif
% endfor
@ -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)
% endif
% endif
% endfor
@ -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)
% endif
% endif
% endfor
% 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 $<
% endfor
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
% endif
% endif
% endfor
@ -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
% endif
% endif
% endfor
@ -541,11 +548,11 @@ install-shared_c: shared_c strip-shared_c
% if lib.build == "all":
ifeq ($(SYSTEM),MINGW32)
$(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
else
$(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)
ifneq ($(SYSTEM),Darwin)
$(Q) ln -sf lib${lib.name}.$(SHARED_EXT) $(prefix)/lib/lib${lib.name}.so
endif
@ -565,11 +572,11 @@ install-shared_cxx: shared_cxx strip-shared_cxx
% if lib.build == "all":
ifeq ($(SYSTEM),MINGW32)
$(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
else
$(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)
ifneq ($(SYSTEM),Darwin)
$(Q) ln -sf lib${lib.name}.$(SHARED_EXT) $(prefix)/lib/lib${lib.name}.so
endif
@ -629,38 +636,38 @@ PUBLIC_HEADERS_C += \\
% endfor
% endif
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):
ifeq ($(NO_SECURE),true)
libs/$(TGTDIR)/lib${lib.name}.a: openssl_dep_error
libs/$(CONFIG)/lib${lib.name}.a: openssl_dep_error
% if lib.build == "all":
ifeq ($(SYSTEM),MINGW32)
libs/$(TGTDIR)/${lib.name}.$(SHARED_EXT): openssl_dep_error
libs/$(CONFIG)/${lib.name}.$(SHARED_EXT): openssl_dep_error
else
libs/$(TGTDIR)/lib${lib.name}.$(SHARED_EXT): openssl_dep_error
libs/$(CONFIG)/lib${lib.name}.$(SHARED_EXT): openssl_dep_error
endif
% endif
else
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)
% endif
$(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
% endif
% endif
@ -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}
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/$(TGTDIR) -dynamiclib -o ${out_libbase}.$(SHARED_EXT) ${common}${libs}
$(Q) ${ld} $(LDFLAGS) -Llibs/$(CONFIG) -dynamiclib -o ${out_libbase}.$(SHARED_EXT) ${common}${libs}
else
$(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
endif
endif
@ -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)
</%def>
<%def name="maketarget(tgt)">
@ -745,20 +752,20 @@ ${tgt.name.upper()}_SRC = \\
% endfor
${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):
ifeq ($(NO_SECURE),true)
bins/$(TGTDIR)/${tgt.name}: openssl_dep_error
bins/$(CONFIG)/${tgt.name}: openssl_dep_error
else
% endif
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\
% endfor
% if tgt.get("c++", False):
@ -780,7 +787,7 @@ bins/$(TGTDIR)/${tgt.name}: $(${tgt.name.upper()}_OBJS)\
$(Q) $(LD) $(LDFLAGS) $(${tgt.name.upper()}_OBJS)\
% endif
% for dep in tgt.deps:
libs/$(TGTDIR)/lib${dep}.a\
libs/$(CONFIG)/lib${dep}.a\
% endfor
% 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)\
% endif
-o bins/$(TGTDIR)/${tgt.name}
-o bins/$(CONFIG)/${tgt.name}
% if tgt.get('secure', True):
endif
@ -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}
</%def>
.PHONY: all strip tools \

Loading…
Cancel
Save