diff options
Diffstat (limited to 'waflib/Tools/fc.py')
-rw-r--r-- | waflib/Tools/fc.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/waflib/Tools/fc.py b/waflib/Tools/fc.py index 6c3bc2a..64c479d 100644 --- a/waflib/Tools/fc.py +++ b/waflib/Tools/fc.py @@ -15,7 +15,15 @@ def fc_hook(self,node): return self.create_compiled_task('fc',node) @conf def modfile(conf,name): - return{'lower':name.lower()+'.mod','lower.MOD':name.lower()+'.MOD','UPPER.mod':name.upper()+'.mod','UPPER':name.upper()+'.MOD'}[conf.env.FC_MOD_CAPITALIZATION or'lower'] + if name.find(':')>=0: + separator=conf.env.FC_SUBMOD_SEPARATOR or'@' + modpath=name.split(':') + modname=modpath[0]+separator+modpath[-1] + suffix=conf.env.FC_SUBMOD_SUFFIX or'.smod' + else: + modname=name + suffix='.mod' + return{'lower':modname.lower()+suffix.lower(),'lower.MOD':modname.lower()+suffix.upper(),'UPPER.mod':modname.upper()+suffix.lower(),'UPPER':modname.upper()+suffix.upper()}[conf.env.FC_MOD_CAPITALIZATION or'lower'] def get_fortran_tasks(tsk): bld=tsk.generator.bld tasks=bld.get_tasks_group(bld.get_group_idx(tsk.generator)) |