#!/usr/bin/python2 import sys import subprocess root=".." ssafile = '/tmp/minic.ssa' asmfile = '/tmp/minic.s' cc = '/usr/bin/gcc' ccargs = [] cfile = None for a in sys.argv[1:]: if a[0] == '-': ccargs.append(a) else: cfile = a if not cfile: print >>sys.stderr, "usage: mcc [LDFLAGS] file.c" sys.exit(1) ret = subprocess.call(root + "/minic/minic < " + cfile + " >" + ssafile, shell=True) if not ret == 0: print >>sys.stderr, "minic failed (%d)" % ret sys.exit(1) ret = subprocess.call(root + "/lisc/lisc <" + ssafile + " >" + asmfile, shell=True) if not ret == 0: print >>sys.stderr, "backend failed (%d)" % ret sys.exit(1) ret = subprocess.call([cc, asmfile] + ccargs) if not ret == 0: print >>sys.stderr, "linking failed (%d)" % ret sys.exit(1)