This paper presents the development of a fully implicit, low-memory, discrete adjoint method by means of automatic source-code differentiation applied to the Helicopter Multi-Block computational fluid dynamics solver. The method is suitable for applications in flight mechanics as well as shape optimization, and is demonstrated in this paper for popular flow cases reported in the literature. In particular, adjoint CFD computations were undertaken for airfoils, wings and rotor blade cases, and the obtained results were found to agree well with published solutions and with finite differences of flow derivatives. The method has been demonstrated for inviscid and viscous cases and results suggest that the current implementation is robust and efficient. The cost of the adjoint computations is relatively low due to the employed source-code differentiation and most of the times it is no more than the cost of a steady-state flow solution.