- char *err;
- char *fullfile = talloc_asprintf(m, "%s/%s", m->dir, cfile->name);
-
- cfile->compiled = compile_object(m, fullfile, ccan_dir, &err);
- if (cfile->compiled)
- return NULL;
- return err;
+ cfile->compiled = maybe_temp_file(m, ".o", keep, cfile->fullname);
+ return compile_object(m, cfile->fullname, ccan_dir, "",
+ cfile->compiled);