1*10465441SEvalZeroimport os 2*10465441SEvalZeroimport sys 3*10465441SEvalZero 4*10465441SEvalZerodef usage(): 5*10465441SEvalZero print '%s all -- build all bsp' % os.path.basename(sys.argv[0]) 6*10465441SEvalZero print '%s clean -- clean all bsp' % os.path.basename(sys.argv[0]) 7*10465441SEvalZero print '%s project -- update all prject files' % os.path.basename(sys.argv[0]) 8*10465441SEvalZero 9*10465441SEvalZeroBSP_ROOT = os.path.join("..", "bsp") 10*10465441SEvalZero 11*10465441SEvalZeroif len(sys.argv) != 2: 12*10465441SEvalZero usage() 13*10465441SEvalZero sys.exit(0) 14*10465441SEvalZero 15*10465441SEvalZero# get command options 16*10465441SEvalZerocommand = '' 17*10465441SEvalZeroif sys.argv[1] == 'all': 18*10465441SEvalZero command = ' ' 19*10465441SEvalZeroelif sys.argv[1] == 'clean': 20*10465441SEvalZero command = ' -c' 21*10465441SEvalZeroelif sys.argv[1] == 'project': 22*10465441SEvalZero 23*10465441SEvalZero projects = os.listdir(BSP_ROOT) 24*10465441SEvalZero for item in projects: 25*10465441SEvalZero project_dir = os.path.join(BSP_ROOT, item) 26*10465441SEvalZero 27*10465441SEvalZero if os.path.isfile(os.path.join(project_dir, 'template.Uv2')): 28*10465441SEvalZero print ('prepare MDK3 project file on ' + project_dir) 29*10465441SEvalZero command = ' --target=mdk -s' 30*10465441SEvalZero 31*10465441SEvalZero os.system('scons --directory=' + project_dir + command) 32*10465441SEvalZero 33*10465441SEvalZero if os.path.isfile(os.path.join(project_dir, 'template.uvproj')): 34*10465441SEvalZero print ('prepare MDK4 project file on ' + project_dir) 35*10465441SEvalZero command = ' --target=mdk4 -s' 36*10465441SEvalZero 37*10465441SEvalZero os.system('scons --directory=' + project_dir + command) 38*10465441SEvalZero 39*10465441SEvalZero if os.path.isfile(os.path.join(project_dir, 'template.uvprojx')): 40*10465441SEvalZero print ('prepare MDK5 project file on ' + project_dir) 41*10465441SEvalZero command = ' --target=mdk5 -s' 42*10465441SEvalZero 43*10465441SEvalZero os.system('scons --directory=' + project_dir + command) 44*10465441SEvalZero 45*10465441SEvalZero if os.path.isfile(os.path.join(project_dir, 'template.ewp')): 46*10465441SEvalZero print ('prepare IAR project file on ' + project_dir) 47*10465441SEvalZero command = ' --target=iar -s' 48*10465441SEvalZero 49*10465441SEvalZero os.system('scons --directory=' + project_dir + command) 50*10465441SEvalZero 51*10465441SEvalZero sys.exit(0) 52*10465441SEvalZeroelse: 53*10465441SEvalZero usage() 54*10465441SEvalZero sys.exit(0) 55*10465441SEvalZero 56*10465441SEvalZeroprojects = os.listdir(BSP_ROOT) 57*10465441SEvalZerofor item in projects: 58*10465441SEvalZero project_dir = os.path.join(BSP_ROOT, item) 59*10465441SEvalZero if os.path.isfile(os.path.join(project_dir, 'SConstruct')): 60*10465441SEvalZero if os.system('scons --directory=' + project_dir + command) != 0: 61*10465441SEvalZero print 'build failed!!' 62*10465441SEvalZero break 63