90 lines
2.3 KiB
Python
90 lines
2.3 KiB
Python
#!/usr/bin/python
|
|
import debug
|
|
import module
|
|
import target_Linux
|
|
import host
|
|
|
|
availlable=[]
|
|
|
|
def AddModule(name, type):
|
|
global availlable
|
|
if type=="BINARY":
|
|
availlable.append([name,"Module", "bin"])
|
|
else:
|
|
availlable.append([name,"Module", "other"])
|
|
|
|
def AddPackage(name):
|
|
global availlable
|
|
availlable.append([name,"Package", "pkg"])
|
|
|
|
def Build(name):
|
|
if name == "all":
|
|
debug.info("Build all")
|
|
for elem in availlable:
|
|
if elem[1] == "Module":
|
|
if elem[2] == "bin":
|
|
module.Build(elem[0], GetCurrentTarget())
|
|
else:
|
|
debug.error("TODO ... Build package '" + elem[0] + "'")
|
|
elif name == "clean":
|
|
debug.info("Clean all")
|
|
for elem in availlable:
|
|
if elem[1] == "Module":
|
|
module.Clean(elem[0], GetCurrentTarget())
|
|
else:
|
|
debug.error("TODO ... Clean package '" + elem[0] + "'")
|
|
else:
|
|
myLen = len(name)
|
|
if name[myLen-6:] == "-clean":
|
|
cleanName = name[:myLen-6]
|
|
# clean requested
|
|
for elem in availlable:
|
|
if elem[0] == cleanName:
|
|
if elem[1] == "Module":
|
|
debug.info("Clean module '" + cleanName + "'")
|
|
module.Clean(cleanName, GetCurrentTarget())
|
|
else:
|
|
debug.info("Clean package '" + cleanName + "'")
|
|
debug.error("TODO ... Clean package '" + cleanName + "'")
|
|
# todo : clean
|
|
return
|
|
debug.error("not know module name : '" + cleanName + "' to clean it")
|
|
else:
|
|
# Build requested
|
|
for elem in availlable:
|
|
if elem[0] == name:
|
|
if elem[1] == "Module":
|
|
debug.info("Build module '" + name + "'")
|
|
module.Build(name, GetCurrentTarget())
|
|
else:
|
|
debug.info("Build package '" + name + "'")
|
|
debug.error("TODO ... Build package '" + cleanName + "'")
|
|
# todo : build
|
|
return
|
|
debug.error("not know module name : '" + name + "' to build it")
|
|
|
|
|
|
currentTarget=None
|
|
|
|
def SetTarget(name):
|
|
global currentTarget
|
|
if name=="Linux":
|
|
currentTarget = target_Linux.Target()
|
|
elif name=="Windows":
|
|
debug.error("TODO : create target type :'" + name + "'")
|
|
elif name=="MacOs":
|
|
debug.error("TODO : create target type :'" + name + "'")
|
|
elif name=="Android":
|
|
debug.error("TODO : create target type :'" + name + "'")
|
|
else:
|
|
debug.error("Unknow target type :'" + name + "'")
|
|
|
|
|
|
def GetCurrentTarget():
|
|
global currentTarget
|
|
if currentTarget==None:
|
|
SetTarget(host.OS)
|
|
|
|
return currentTarget
|
|
|