There is a growing demand to port existing PC-based software systems to mobile device platforms. Systems running on mobile devices share basic characteristics with their PC-based counterparts, but differ from them in details of user interfaces, application models, etc. Systems running on mobile devices must also perform well using less memory than PC-based systems. Mobile devices themselves are different from each other in many ways, too. We describe how we made an existing PC-based City Guide System available on a wide range of mobile devices, in a cost-effective way. We applied "reengineering into a product line architecture" approach to achieve the goal. Our product line architecture facilitates reuse via generation. We generate specific City Guide Systems for target platforms including PC, Pocket PC and other mobile devices, from generic meta-components that form the City Guide System product line architecture. In our project, we used a meta-programming technique of XVCL to build a product line architecture for City Guide Systems.