def run_make_files(make_docs=False, make_ui_files=True, force_compile_protos=False, sync_artifacts=True):
 if force_compile_protos:
  subprocess.check_call(['python', 'makefile.py', '--clean'])
 else:
  subprocess.check_call(['python', 'makefile.py'])
 if sync_artifacts:
  subprocess.check_call(['python', 'makefile.py'], cwd='grr/artifacts')
 if make_docs:
  subprocess.check_call(['python', 'makefile.py'], cwd='docs')
 if make_ui_files:
  subprocess.check_call(['npm', 'install'], cwd='grr/gui/static')
  subprocess.check_call(['npm', 'install', '-g', 'bower', 'gulp'], cwd='grr/gui/static')
  subprocess.check_call(['bower', 'update'], cwd='grr/gui/static')
  subprocess.check_call(['gulp', 'compile'], cwd='grr/gui/static')

def run_make_files ( make_docs = False , make_ui_files = True , force_compile_protos = False , sync_artifacts = True ) : if force_compile_protos : subprocess . check_call ( [ 'python' , 'makefile.py' , '--clean' ] ) else : subprocess . check_call ( [ 'python' , 'makefile.py' ] ) if sync_artifacts : subprocess . check_call ( [ 'python' , 'makefile.py' ] , cwd = 'grr/artifacts' ) if make_docs : subprocess . check_call ( [ 'python' , 'makefile.py' ] , cwd = 'docs' ) if make_ui_files : subprocess . check_call ( [ 'npm' , 'install' ] , cwd = 'grr/gui/static' ) subprocess . check_call ( [ 'npm' , 'install' , '-g' , 'bower' , 'gulp' ] , cwd = 'grr/gui/static' ) subprocess . check_call ( [ 'bower' , 'update' ] , cwd = 'grr/gui/static' ) subprocess . check_call ( [ 'gulp' , 'compile' ] , cwd = 'grr/gui/static' )
builds necessary assets from sources .