Energy conservation is a critical issue in wireless ad hoc networks, as usually nodes are powered by batteries only. This paper proposes a cross-layer design of energy-aware multicast ad hoc on-demand distance vector (CEMAODV) routing protocol. At one hand it adopts cross-layer mechanism and energy-aware metric to modify AODV routing protocol to reduce the energy consumption of the route to construct a source-based tree. At the other hand the inherent broadcast property of wireless network is utilized to optimize the initial multicast tree by orienting a nodepsilas parent to another tree node and pruning some tree members if necessary. The result of the simulation shows that CEMAODV can outperform MAODV, reducing the consumed energy by about 70% and average delay to about half. And the performance is better when the multicast group is large in the network.