We can find dozens of varieties of "Garam masala" packets in Indian Grocery Stores and Supermarkets, but making your own garam masala is both satisfying and better for your dishes. Another advantage of making your own garam masala is that different dishes need different ingredients in different proportions. Hence, one size fits all is not the best solution.
The following are the major components of a standard Garam Masala:
cardamom (50 grams)
clove (25 grams)
star aniseed (50 grams)
cinnamon (50 grams)
bay leaves (50 grams)
black pepper (25 grams)
black cardamom (50 grams)
mace (25 grams)
You should make sure that all the whole spices are dry. Roast them separately in a frying pan stirring frequently (since each has a different temperature at which they cook and release flavour). Generally, each spice would take about two minutes to roast. You can take it off the heat once they start browning (in case of black pepper and black cardamom, you will see them expanding, that's when you take them off).
Let the whole spices cool down for about 10 minutes and then grind them together in a grinder (easier), or using a mortar pestle (crazy). Store the garam masala in a dry glass bottle and use it within 3 months (it stays pretty much forever, but it loses the flavor eventually).