summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/SCsub45
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")