PHP5.5, 182 172172 bytes 168 bytes
based on @kuldeep.kamboj's answer, which is actually 212 bytes the moment I write this but 182 characters. I wish the wall was a bit higher, then I could do some more optimisation ;-)
this one is 168 bytes, thanks to @JörgHülsermann
$r='str_repeat';$d=$r(' -',7);$x=' ';foreach(["$x __ __ $x","$x| |_| |$x","___|$x$x |___","-$x-$x-$x- ","$d ","-$d",$r('—',15)] as$z){echo$r($z,$argv[1])." ";} This one is 172 bytes
$r='str_repeat';$d=$r(' -',7);$x=$r(' ',3);foreach(["$x __ __ $x","$x| |_| |$x","___|$x$x |___","-$x-$x-$x- ","$d ","-$d",$r('—',15)] as$z){echo$r($z,$argv[1])." ";} This one is 182 bytes :-)
$r='str_repeat';$d=$r(' -',7);$x=$r(' ',4);foreach([$x.'__ __'.$x,' | |_| | ','___| |___','- - - - ',$d.' ','-'.$d,$r('—',15)] as$z){echo $r($z,$argv[1]).' ';} ungolfed version
$r='str_repeat'; $d=$r(' -',7); $x=$r(' ',3); $s=["$x __ __ $x", "$x| |_| |$x", "___|$x$x |___", "-$x-$x-$x- ", "$d ", "-$d", $r('—',15) ]; foreach($s as $z) { echo$r($z,$argv[1])." "; }