I can't check any of this out just now as I'm at Uni, but here goes...
The code seems to be fine, but I'd change the blitting line to
SDL_BlitSurface(bmp, NULL, screen, &targetarea);
I don't think this would solve the problem itself, but give it a try anyway.
As for the makefile, you've set...