A project, and its targets, are objects using the ‘EIEIO’ object system. See Top. These objects have data fields containing important information related to your work.
If the high-level functions aren't enough, you can tweak all user-customizable fields at any time by running the command customize-project or customize-target. This loads the current project or target into a customization buffer, where you can tweak individual slots. This is usually necessary for complex projects.
Some project modes do not have a project file, but directly read a
Makefile or other existing file. Instead of directly editing the
object, you can edit the file by typing C-c . e
ede-edit-file-target). You should “rescan” the project
afterwards (see Miscellaneous commands).