In this paper we propose sufficient conditions to synthesizing reach-avoid controllers for deterministic systems modelled by ordinary differential equations and stochastic systems modeled by stochastic differential equations based on the notion of control guidance-barrier functions. We begin with considering deterministic systems. Given an open safe set, a target set and a nominal controller, we attempt to synthesize a reach-avoid controller, which modifies the nominal controller in a minimal way enforcing the reach-avoid objective, i.e., the system will enter the target set eventually while staying inside the safe set before the first target hitting time. Three control guidance-barrier functions are developed and three corresponding conditions for synthesizing reach-avoid controllers are constructed, which get progressively weaker and thus facilitate the optimal controller design. The first and second ones are termed exponential and asymptotic control guidance-barrier functions, which guarantee that every trajectory starting from the safe set will enter the target set respectively at an exponential rate and in an asymptotic way. However, it is observed that these two control guidancebarrier functions have one condition in common of enforcing invariance of its every positive sublevel set until the system enters the target set, which is strict and thus limits the space of admissible controllers. Consequently, a lax control guidancebarrier function is further developed such that only the safe set set is an invariance before the system enters the target set, expanding the space of admissible control inputs. Then, we extend the methodologies for deterministic systems to stochastic systems, which synthesize reach-avoid controllers in the probabilistic setting. Finally, several numerical examples demonstrate the performance of proposed methods.