Basic theory of operation for using openembedded goes something like this:
I usually have project directories to work under each project in eg
/git/. Eg project foo has a working and source directory I use to
track it under /git/foo/. So I end up producing builds in
/git/foo/builds/ and working on source in /git/foo/src.
Openembedded is composed of many granular parts, but basically works like this: the minimal core is oe-core and bitbake; meta-* packages provide granularity and openembedded, yocto et al to tweak the