We propose a multicast routing protocol for ad-hoc networks, which is particularly efficient for multi-source multicast transmissions. The proposed protocol designates one or more sources as the core sources. A tree that is rooted at a core source and reaches all the destinations of the multicast group is formed for each core source. The union of these trees constitutes the data delivery mesh, and each of the non-core sources finds the nearest core source in order to delegate its data delivery. The data delivery mesh is periodically reconfigured through the control message flooding initiated from the core sources. A local mesh recovery mechanism is also deployed to complement the periodic mesh reconfiguration. Our simulation results show that the proposed protocol achieves high multicast efficiency with low communication overhead compared with the other existing multicast routing protocols especially when there are multiple sources in the multicast group.