diff --git a/tools/building.py b/tools/building.py index 142c5eccc2..9e12b81204 100644 --- a/tools/building.py +++ b/tools/building.py @@ -163,9 +163,19 @@ def PrepareBuilding(env, root_directory, has_libcpu=False, remove_components = [ help = 'make distribution and strip useless files') AddOption('--dist-ide', dest = 'make-dist-ide', - type = 'string', + action = 'store_true', default = False, help = 'make distribution for rt-thread eclipse ide') + AddOption('--project-path', + dest = 'make-project-path', + type = 'string', + default = False, + help = 'set dist-ide project output path') + AddOption('--project-name', + dest = 'make-project-name', + type = 'string', + default = False, + help = 'set dist-ide project name') AddOption('--cscope', dest = 'cscope', action = 'store_true', @@ -872,8 +882,9 @@ def EndBuilding(target, program = None): need_exit = True if GetOption('make-dist-ide') and program != None: from mkdist import MkDist - output_path = GetOption('make-dist-ide')[5:] - rtt_ide = {'output_path': output_path} + project_path = GetOption('make-project-path') + project_name = GetOption('make-project-name') + rtt_ide = {'project_path' : project_path, 'project_name' : project_name} MkDist(program, BSP_ROOT, Rtt_Root, Env, rtt_ide) need_exit = True if GetOption('cscope'): diff --git a/tools/mkdist.py b/tools/mkdist.py index 39c7b65afd..96d0e63ef9 100644 --- a/tools/mkdist.py +++ b/tools/mkdist.py @@ -312,10 +312,14 @@ def MkDist(program, BSP_ROOT, RTT_ROOT, Env, rttide = None): dist_name = os.path.basename(BSP_ROOT) - if isinstance(rttide, dict): - dist_dir = rttide['output_path'] - else: + if rttide == None: dist_dir = os.path.join(BSP_ROOT, 'dist', dist_name) + else: + dist_dir = rttide['project_path'] + if not isinstance(dist_dir, str): + print("\n--target-path=your_project_path parameter is required.") + print("\nstop!") + return target_path = os.path.join(dist_dir, 'rt-thread') @@ -377,13 +381,13 @@ def MkDist(program, BSP_ROOT, RTT_ROOT, Env, rttide = None): bsp_update_kconfig_library(dist_dir) # update all project files - if rttide != None: - bs_update_ide_project(dist_dir, target_path, rttide) - else: + if rttide == None: bs_update_ide_project(dist_dir, target_path) + else: + bs_update_ide_project(dist_dir, target_path, rttide) # make zip package - if rttide != None: + if rttide == None: zip_dist(dist_dir, dist_name) print('done!')