Hello Peter Tseng,
As you mention the clean instruction will delete the packages associated with the u-boot recipe.
If you wish to add support for a custom board my recommendation would be looking for one of the existing machine configurations (MACHINE, like imx6sabresd for example) and working with it as a starting point and performing the necessary changes.
Yocto is focused more on distribution than development so it would be easier to work locally and once you have the necessary changes for your board load it all on a new layer.
If you are not very familiar with Yocto I would recommend looking at the following training, which is very informative and easy to follow (there are several task showing different configurations).
For a very good guide on customizing u-boot please look at the following document.
As for creating a new layer please look at the following layer.
I know this is a lot of information but I hope it serves as a guidelines for your design.