This paper presents a deadlock prevention algorithm for the class of sequential resource allocation system for flexible manufacturing systems, which allows for multiple resources flexible routings. Two classes of Petri nets Extended from Systems of Simple Sequential Processes with Resources (ES^3PR) and Systems of Simple Sequential Processes with General Resource Requirements (S^3PGR^2) whose deadlocks are related to unmarked siphons are considered. Based on the definition of ES^3PR net, the original net is an ordinary Petri net. We further present a siphon-based algorithm of deadlock prevention for both classes of Petri nets. The proposed method is an iterative approach. We note that S^3PGR^2 net structure is a weighted generalization of the ES^3PR net. Based on this reason, the proposed algorithm can be applied to S^3PGR^2 net if the target net is normalized to ordinary one. And this algorithm is only adding generalized control place. Finally, numerical experiments using reachability tree illustrate that the proposed algorithm appears to generate more permissive supervisors than the closely related approaches of other literatures.