We propose a self-stabilizing algorithm to construct a minimal weakly ST-reachable directed acyclic graph (DAG), which is suited for routing messages on wireless networks. Given an arbitrary, simple, connected, and undirected graph G = (V, E) and two sets of nodes, senders S(⊂ V) and targets T (⊂ V), a directed subgraph G of G is a weakly ST-reachable DAG on G, if G is a DAG and every sender can reach at least one target, and every target is reachable from at least one sender in G. We say that a weakly ST-reachable DAG G on G is minimal if any proper subgraph of G is no longer a weakly ST-reachable DAG. This DAG is a relaxed version of the original (or strongly) ST-reachable DAG, where every target is reachable from every sender. This is because a strongly ST-reachable DAG G does not always exist; some graph has no strongly ST-reachable DAG even in the case |S| = |T | = 2. On the other hand, the proposed algorithm always constructs a weakly ST-reachable DAG for any |S| and |T |. Furthermore, the proposed algorithm is self-stabilizing; even if the constructed DAG deviates from the reachability requirement by a breakdown or exhausting the battery of a node having an arc in the DAG, this algorithm automatically reconstructs the DAG to satisfy the requirement again. The convergence time of the algorithm is O(D) asynchronous rounds, where D is the diameter of a given graph. We conduct small simulations to evaluate the performance of the proposed algorithm. The simulation result indicates that its execution time decreases when the number of sender nodes or target nodes is large.