Source code for nxpy.scons.util
# nxpy.scons package ---------------------------------------------------------
# Copyright Nicola Musatti 2010 - 2014
# Use, modification, and distribution are subject to the Boost Software
# License, Version 1.0. (See accompanying file LICENSE.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
# See http://nxpy.sourceforge.net for library home page. ---------------------
r"""
Utilities for the SCons build tool.
"""
from __future__ import absolute_import
import os
from six.moves import range
# Taken almost verbatim from this SCons Wiki recipe: http://www.scons.org/wiki/CustomCleanActions
# (If you are the original author and object to this being here, get in touch!)
[docs]def is_cleaning(env, targets):
if not env.GetOption('clean'):
return False
# normalize targets to absolute paths
targets = env.subst('${TARGETS.abspath}', target=targets).split()
launchdir = env.GetLaunchDir()
topdir = env.Dir("#").abspath
cl_targets = env.subst('$COMMAND_LINE_TARGETS').split()
if len(cl_targets) == 0:
cl_targets.append(".")
for i in range(len(cl_targets)):
full_target = ""
if cl_targets[i][0] == '#':
full_target = os.path.join(topdir,cl_targets[i][1:0])
else:
full_target = os.path.join(launchdir,cl_targets[i])
full_target = os.path.normpath(full_target)
for target in targets:
if target.startswith(full_target):
return True
return False