- return talloc_asprintf(ctx, "%.*s.o ", strlen(cfile) - 2, cfile);
-}
-
-static char *compile(struct manifest *m, const char *cfile)
-{
- char *obj;
-
- obj = objname(m, cfile);
- return compile_object(m, obj, cfile);
+ char *output;
+ cfile->compiled = maybe_temp_file(m, ".o", keep, cfile->fullname);
+ if (compile_object(m, cfile->fullname, ccan_dir, "",
+ cfile->compiled, &output)) {
+ talloc_free(output);
+ return NULL;
+ }
+ return output;