123456789101112131415161718192021222324252627282930313233343536 |
- #!/usr/bin/env python
- """
- make.py
- A drop-in or mostly drop-in replacement for GNU make.
- """
- import sys, os
- import pymake.command, pymake.process
- import gc
- if __name__ == '__main__':
- if 'TINDERBOX_OUTPUT' in os.environ:
- # When building on mozilla build slaves, execute mozmake instead. Until bug
- # 978211, this is the easiest, albeit hackish, way to do this.
- import subprocess
- mozmake = os.path.join(os.path.dirname(__file__), '..', '..',
- 'mozmake.exe')
- cmd = [mozmake]
- cmd.extend(sys.argv[1:])
- shell = os.environ.get('SHELL')
- if shell and not shell.lower().endswith('.exe'):
- cmd += ['SHELL=%s.exe' % shell]
- sys.exit(subprocess.call(cmd))
- sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)
- sys.stderr = os.fdopen(sys.stderr.fileno(), 'w', 0)
- gc.disable()
- pymake.command.main(sys.argv[1:], os.environ, os.getcwd(), cb=sys.exit)
- pymake.process.ParallelContext.spin()
- assert False, "Not reached"
|