def compile_and_process(self, in_path):
        """compile a file, save it to the ouput file if the inline flag true"""

        out_path = self.path_mapping[in_path]
        if not self.embed:
            pdebug("[%s::%s] %s -> %s" % (
                self.compiler_name,
                self.name,
                os.path.relpath(in_path),
                os.path.relpath(out_path)),
                groups=["build_task"],
                autobreak=True)
        else:
            pdebug("[%s::%s] %s -> <cache>" % (
                self.compiler_name,
                self.name,
                os.path.relpath(in_path)),
                groups=["build_task"],
                autobreak=True)

        compiled_string = self.compile_file(in_path)

        if not self.embed:
            if compiled_string != "":
                with open(out_path, "w") as f:
                    f.write(compiled_string)

        return compiled_string
compile a file, save it to the ouput file if the inline flag true