We consider sensor networks where energy is a limited resource so that energy consumption must be minimized while satisfying given throughput requirements. Moreover, energy consumption must take into account both the transmission energy and the circuit processing energy for short-range communications. We emphasize that the energy efficiency must be supported across all layers of the protocol stack through a cross-layer design. In this context, we analyze energy-efficient joint routing, scheduling, and link adaptation strategies that maximize the network lifetime. We propose variable-length TDMA schemes where the slot length is optimally assigned according to the routing requirement while minimizing the energy consumption across the network. We show that the optimization problems can be transformed into or approximated by convex problems that can be efficiently solved using known techniques. The results show that multihop routing schemes are more energy-efficient when only transmission energy is considered, but single-hop transmissions may be more efficient when the circuit processing energy is considered.