We present a Petri net theoretic approach to the software synthesis problem that can synthesize ordinary C programs from processbased concurrent specifications without the need for a run-time multithreading environment. The synthesized C programs can be readily retargeted to different processors using available optimizing C compilers. Our compiler can also generate sequential Java programs as output, which can also be readily mapped to a target processor without the need for a multithreading environment. Initial results demonstrate significant potentials for improvements over current run-time solutions.