Working build file!
[armadillo.git] / build.py
1 #!/usr/bin/env python2.5
2 import os
3 import subprocess
4 import sys
5
6 ROOT = os.path.dirname(os.path.realpath(__file__))
7 SRC_PATH = os.path.join(ROOT, 'src')
8 PROD_PATH = os.path.join(ROOT, 'out')
9
10 SOURCES = [
11 'server.go',
12 'main.go'
13 ]
14 PRODUCT_NAME = 'armadillo'
15
16 COMPILER = '8g'
17 LINKER = '8l'
18 O_EXTENSION = '8'
19
20 def _ObjFileName(gofile):
21 gofile = os.path.basename(gofile)
22 return os.path.join(PROD_PATH, os.path.splitext(gofile)[0] + '.' + O_EXTENSION)
23
24 def Main():
25 print '=== Starting Build ==='
26 os.chdir(PROD_PATH)
27
28 # Compile.
29 for gofile in SOURCES:
30 gofile = os.path.join(SRC_PATH, gofile)
31 args = [ COMPILER, gofile ]
32 print ' ' + ' '.join(args)
33 handle = subprocess.Popen(args, stdout = sys.stdout, stderr = sys.stderr)
34 handle.wait()
35
36 # Link
37 objects = map(_ObjFileName, SOURCES)
38 args = [ LINKER, '-o', os.path.join(PROD_PATH, PRODUCT_NAME), 'main.8' ]
39 print ' ' + ' ' .join(args)
40 handle = subprocess.Popen(args, stdout = sys.stdout, stderr = sys.stderr)
41 handle.wait()
42
43 if __name__ == '__main__':
44 Main()