xref: /nrf52832-nimble/rt-thread/tools/buildbot.py (revision 104654410c56c573564690304ae786df310c91fc)
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