1. A method of making a microarray on a surface of a solid substrate, the method comprising: (a) providing a solid substrate having a surface for immobilizing a plurality of binding agents for forming the microarray; (b) forming a support layer of hydrophobic molecules attached to the surface; (c) forming a layer of linker molecules on the surface of the substrate, wherein the linker molecules comprise a hydrophobic group capable of non-covalently binding to the support layer and a reactive functional group; and (d) printing a plurality of binding agents at a plurality of locations on the solid substrate, wherein the binding agents comprise a functional group capable of reacting in situ on the microarray with the reactive functional group of the linker molecules to covalently link the binding agents to the linker molecules immobilized on the solid substrate, thereby forming the microarray.