.ll and .bc both are mostly target-independent. but You can use clang -S --target=yourtarget
to emit target assembly in .s format.
See this thread LLVM build.
Also, See Getting started example with clang to understand the pipeline.
And Cross compiling using clang.
I think you should read some background of LLVM first:-
LLVM chapter from AOSA book
Introducing LLVM Intermediate Representation from Getting Started with LLVM Core Libraries