build_one creates target subdirectory instead of silently failing