This makefile is untested, so hope is the strategy here.
Socket
Sparse checks it. This is neater than using a struct, which has some slightly weird syntax at times. This also reduces the risk of someone adding another struct member.