lutin/corePython/buildList.py

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