There are two ways:

1) render the scene twice (+ 1 time from the light position). One time you render the scene normally, with any shaders you like. The second time you render only the shadows (black and white). Then combine them. If you use this method, it is easy to create soft shadows: just blur the shadow render before combining.

2) Combine the hadow shader with your other shaders. For example, for a normalmapped object you have to create a normalmapping+shadowmapping shader. You can then assign them to all your models individually.