def METHOD_NAME(self):
	if not self.__class__.__name__ in self.env.ENABLE_GCCDEPS:
		return super(self.derived_gccdeps, self).METHOD_NAME()
	name = self.outputs[0].abspath()
	name = re_o.sub('.d', name)
	try:
		txt = Utils.readf(name)
	except EnvironmentError:
		Logs.error('Could not find a .d dependency file, are cflags/cxxflags overwritten?')
		raise
	#os.remove(name)
	# Compilers have the choice to either output the file's dependencies
	# as one large Makefile rule:
	#
	#   /path/to/file.o: /path/to/dep1.h \
	#                    /path/to/dep2.h \
	#                    /path/to/dep3.h \
	#                    ...
	#
	# or as many individual rules:
	#
	#   /path/to/file.o: /path/to/dep1.h
	#   /path/to/file.o: /path/to/dep2.h
	#   /path/to/file.o: /path/to/dep3.h
	#   ...
	#
	# So the first step is to sanitize the input by stripping out the left-
	# hand side of all these lines. After that, whatever remains are the
	# implicit dependencies of task.outputs[0]
	txt = '\n'.join([remove_makefile_rule_lhs(line) for line in txt.splitlines()])
	# Now join all the lines together
	txt = txt.replace('\\\n', '')
	val = txt.strip()
	val = [x.replace('\\ ', ' ') for x in re_splitter.split(val) if x]
	nodes = []
	bld = self.generator.bld
	# Dynamically bind to the cache
	try:
		cached_nodes = bld.cached_nodes
	except AttributeError:
		cached_nodes = bld.cached_nodes = {}
	for x in val:
		node = None
		if os.path.isabs(x):
			node = path_to_node(bld.root, x, cached_nodes)
		else:
			# TODO waf 1.9 - single cwd value
			path = getattr(bld, 'cwdx', bld.bldnode)
			# when calling find_resource, make sure the path does not contain '..'
			x = [k for k in Utils.split_path(x) if k and k != '.']
			while '..' in x:
				idx = x.index('..')
				if idx == 0:
					x = x[1:]
					path = path.parent
				else:
					del x[idx]
					del x[idx-1]
			node = path_to_node(path, x, cached_nodes)
		if not node:
			raise ValueError('could not find %r for %r' % (x, self))
		if id(node) == id(self.inputs[0]):
			# ignore the source file, it is already in the dependencies
			# this way, successful config tests may be retrieved from the cache
			continue
		nodes.append(node)
	Logs.debug('deps: gccdeps for %s returned %s', self, nodes)
	bld.node_deps[self.uid()] = nodes
	bld.raw_deps[self.uid()] = []
	try:
		del self.cache_sig
	except AttributeError:
		pass
	Task.Task.METHOD_NAME(self)