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