Put beef scraps in a roasting pan and roast at 200 degrees C for about 1 hour, until meat is well browned and fat is cooked out.
Add browned beef scraps, celery, carrots, onions, stock cubes, ham bones and water into a large stock pot.
Simmer on low for 3-4 hours, adding more water as needed to make sure everything is covered.
After 6-8 hours, remove pieces of meat and vegetables and skim off sediment. Then strain stock through a colander.
Put strained stock back into a clean saucepan and simmer over medium high heat until reduced, approx by half.
Pour reduced stock into freezer containers. Cool on counter top for about an hour. If you didn't use a fat separator when straining then allow to cool in fridge overnight and remove the fat in the morning before freezing. If you did use one then freeze stock as soon as it is slightly cool.