make_parallel.py 920 B

12345678910111213141516171819202122232425262728293031
  1. import sys
  2. from check_objects import to_recompile
  3. from compile import do_compile
  4. from link_and_load import link_and_load
  5. import random
  6. import multiprocessing
  7. import glob
  8. def main(address, username, files):
  9. def do_compile_wrapper(filename):
  10. do_compile(address, filename, str(random.random()), filename, "PO", ["--debug"])
  11. p = multiprocessing.Pool(multiprocessing.cpu_count() * 2)
  12. new_files = to_recompile(address, files)
  13. p.map(do_compile_wrapper, new_files)
  14. link_and_load(address, username, files)
  15. if __name__ == "__main__":
  16. if len(sys.argv) < 4:
  17. sys.stderr.write("Expected different parameters!\n")
  18. sys.stderr.write(" %s address username [file]*\n" % sys.argv[0])
  19. sys.exit(1)
  20. address = sys.argv[1]
  21. username = sys.argv[2]
  22. files = [a.replace("\\", "/") for a in sum([glob.glob(f) for f in sys.argv[3:]], [])]
  23. main(address, username, files)