def METHOD_NAME(self):
    """Run multiple times for different sources"""
    # BCALM is a git submodule of BWISE but we use it as a dependency because
    # it also has submodules and it's from a different developer
    bcalm = get_software_root('BCALM')
    if not bcalm:
        raise EasyBuildError("BWISE needs BCALM to work")
    makefiles_fixes = [
        (r'^CC=.*$', 'CC=$(CXX)'),
        (r'^CFLAGS=.*$', 'CFLAGS:=$(CFLAGS)'),
        (r'^LDFLAGS=.*$', 'LDFLAGS:=$(LDFLAGS) -fopenmp')
    ]
    def find_build_subdir(pattern):
        """Changes to the sub directory that matches the given pattern"""
        subdir = glob.glob(os.path.join(self.builddir, pattern))
        if subdir:
            change_dir(subdir[0])
            apply_regex_substitutions('makefile', makefiles_fixes)
            super(EB_BWISE, self).METHOD_NAME()
            return subdir[0]
        else:
            raise EasyBuildError("Could not find a subdirectory matching the pattern %s", pattern)
    # BWISE has 3 independant parts, we build them one by one
    # first BWISE itself
    subdir = find_build_subdir(os.path.join('BWISE-*', 'src'))
    apply_regex_substitutions(os.path.join(subdir, '..', 'Bwise.py'),
                              [(r'^BWISE_MAIN = .*$', 'BWISE_MAIN = os.environ[\'EBROOTBWISE\']')])
    # Onwards to BGREAT
    subdir = find_build_subdir('BGREAT2-*')
    copy_file(os.path.join(subdir, 'bgreat'), self.cfg['start_dir'])
    # Finally, BTRIM
    subdir = find_build_subdir('BTRIM-*')
    copy_file(os.path.join(subdir, 'btrim'), self.cfg['start_dir'])
    binaries = ['sequencesToNumbers', 'numbersFilter', 'path_counter', 'maximal_sr', 'simulator',
                'path_to_kmer', 'K2000/*.py', 'K2000/*.sh']
    self.cfg['files_to_copy'] = [(['bgreat', 'btrim', 'Bwise.py'] + ['src/%s' % x for x in binaries], 'bin'),
                                 'data']