def build(self, source_entities, targets):
        content = []

        embedded_tools = ""

        for source in source_entities:
            data = aql.read_text_file(source.get())
            if not data:
                continue

            if "embedded_tools" in source.tags:
                embedded_tools = EMBEDDED_TOOLS % data
            else:
                content.append(data)

        content.append(MAIN.format(embedded_tools=embedded_tools))

        content = '\n'.join(content)

        aql.write_text_file(self.target, content)
        targets.add_target_files(self.target)