diff options
-rw-r--r-- | drivers/SCsub | 45 |
1 files changed, 26 insertions, 19 deletions
diff --git a/drivers/SCsub b/drivers/SCsub index bc46bf2cec..fd77931a29 100644 --- a/drivers/SCsub +++ b/drivers/SCsub @@ -64,26 +64,33 @@ if env['vsproj']=="yes": env.AddToVSProject(env.drivers_sources) for f in env.drivers_sources: - fname = "" - if type(f) == type(""): - fname = env.File(f).path - else: - fname = env.File(f)[0].path - #base = string.join(fname.split("/")[:-1], "/") - fname = fname.replace("\\", "/") - base = string.join(fname.split("/")[:2], "/") - if base != cur_base and len(list) > max_src: - lib = env.Library("drivers"+str(num), list) - lib_list.append(lib) - list = [] - num = num+1 - cur_base = base - list.append(f) - -if len(list) > 0: - lib = env.Library("drivers"+str(num), list) - lib_list.append(lib) + fname = "" + if type(f) == type(""): + fname = env.File(f).path + else: + fname = env.File(f)[0].path + fname = fname.replace("\\", "/") + base = string.join(fname.split("/")[:2], "/") + if base != cur_base or len(list) > max_src: + if num > 0: + lib = env.Library("drivers"+str(num), list) + lib_list.append(lib) + list = [] + num = num+1 + cur_base = base + list.append(f) +lib = env.Library("drivers"+str(num), list) +lib_list.append(lib) + +if len(lib_list) > 0: + import os, sys + if os.name=='posix' and sys.platform=='win32': + env.Replace(ARFLAGS=['rcsT']) + + lib = env.Library("drivers_collated", lib_list) + env.Replace(ARFLAGS=['rc']) + lib_list = [lib] drivers_base=[] env.add_source_files(drivers_base,"*.cpp") |