import os
import sys
class class_rule(object):
def __init__(self, name, dependencies, commands, phony = False):
self.name = name
self.dependencies = dependencies
self.commands = commands
self.phony = phony
def __str__(self):
output = ""
output += "%s: %s\n" % (self.name, " ".join(self.dependencies))
for command in self.commands:
output += ("\t@ %s\n" % (command.compile_unix()))
if (self.phony): output += (".PHONY: %s\n" % self.name)
return output
class class_command(object):
def __init__(self, parameters): self.parameters = parameters
def compile_unix(self): raise NotImplementedError
def compile_ant(self): raise NotImplementedError
class class_command_log(class_command):
def __init__(self, parameters): class_command.__init__(self, parameters)
def compile_unix(self): return ("echo -e '-- %s'" % (self.parameters["message"]))
class class_command_directory_create(class_command):
def __init__(self, parameters): class_command.__init__(self, parameters)
def compile_unix(self): return ("mkdir --parents %s" % (self.parameters["path"]))
class class_command_file_copy(class_command):
def __init__(self, parameters): class_command.__init__(self, parameters)
def compile_unix(self): return ("cp --recursive %s %s" % (self.parameters["path-from"], self.parameters["path-to"]))
class class_command_file_concat(class_command):
def __init__(self, parameters): class_command.__init__(self, parameters)
def compile_unix(self): return ("cat %s > %s" % (" ".join(self.parameters["paths-from"]), self.parameters["path-to"]))
class class_command_directory_remove(class_command):
def __init__(self, parameters): class_command.__init__(self, parameters)
def compile_unix(self): return ("rm --recursive --force %s" % (self.parameters["path"]))
class class_command_image_convert(class_command):
def __init__(self, parameters): class_command.__init__(self, parameters)
def compile_unix(self): return ("convert %s %s" % (self.parameters["path-from"], self.parameters["path-to"]))