aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/make-intercept/make
blob: 23cfb11b84b84f2c31bef126cfbacdb309eac74b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/env python
import sys
import os
import subprocess

if "BB_MAKEFIFO" in os.environ:
    fifoname = os.environ["BB_MAKEFIFO"]

    r = os.open(fifoname, os.O_RDONLY|os.O_NONBLOCK)
    w = os.open(fifoname, os.O_WRONLY)
    os.close(r)
    r = os.open(fifoname, os.O_RDONLY)

    seen = False
    for i in sys.argv:
        if "-j" in i:
            seen = True
    if seen:
        os.environ["MAKEFLAGS"] = "-j --jobserver-fds=" + str(r) + "," + str(w)

newpath = []
origpath = os.environ["PATH"].split(":")
for p in origpath:
    if "make-intercept" in p:
         continue
    newpath.append(p)
os.environ["PATH"] = ":".join(newpath)

sys.argv[0] = "make"

sys.exit(subprocess.call(sys.argv, shell=False))