4
|
1 from popen2 import Popen3
|
|
2
|
|
3 def make(basedir, target='all'):
|
|
4 """Execute a Makefile target."""
|
|
5 cmdline = 'make %s' % target
|
|
6 pipe = Popen3(cmdline, capturestderr=True) # FIXME: Windows compatibility
|
|
7 while True:
|
|
8 retval = pipe.poll()
|
|
9 if retval != -1:
|
|
10 break
|
|
11 line = pipe.fromchild.readline()
|
|
12 if line:
|
|
13 print '[make] %s' % line.rstrip()
|
|
14 line = pipe.childerr.readline()
|
|
15 if line:
|
|
16 print '[make] %s' % line.rstrip()
|
|
17 if retval != 0:
|
|
18 raise BuildError, "Executing distutils failed (%s)" % retval
|