shortest path with distance in a weighted graph

Hello,

To find the shortest path and its corresponding distance from a list of
sources to a target in a weight graph, I did:

loop over all sources:
(1) run shortest_path(source, target)
(2) sum up edge weights in elist

Is there a quicker way to do this? Since shortest_path() finds the shortest
path, I thought it should report the shortest distance as well...

Thanks!