ugh !  These exist to enable you to find the part of the code to edit, don't they ?  That means that bootstrap.c is partially "source" code and partially "generated", which is Not Good.
I would prefer that you generate a libpromises/bootstrap.inc (or whatever name takes your fancy) containing the generated string and
```
fprintf(fout,
#include <bootstrap.inc>
);
```
or have the .inc file be of form
```
const char fallback_content[] = 
// generated content
;
```
so that you can
```
#include <bootstrap.inc>
      fprintf(fout, fallback_content);
```
The generated file can then begin with a block comment saying "This is an automatically generated file, please don't edit it by hand, edit the fallback policy in $wherever instead and see the instructions in $makefile for how to regenerate this file from it.  One day we might even stop committing it in git entirely !" or words to that effect.
Maybe even include the date and sha1 of the HEAD commit from which the file was generated, just to be on the safe side.