This paper develops a novel deadlock prevention policy for a class of generalised Petri nets, namely S4PR that can well model flexible manufacturing systems (FMS). The analysis of generalised Petri nets leads us to characterise deadlock situations in terms of insufficiently marked siphons. The theory of elementary siphons guides our efforts towards the development of structurally simple liveness-enforcing supervisors. Therefore, insufficiently marked siphons can be classified into elementary ones and dependent ones. The controllability of a dependent siphon can be ensured by properly supervising its elementary ones. In order to find a compact and proper set of elementary siphons for S4PR, the concept of augmented siphons is proposed. Then, the concept of max′-controlled siphons is employed, which can relax the siphon controllability condition. By explicitly controlling elementary siphons via adding monitors, a liveness-enforcing controlled system can be found. In addition, the liveness-enforcing supervisor with more permissive behaviour is obtained through the rearrangement of the output arcs of the monitors. Finally, an FMS case study is utilised to demonstrate the proposed method.