There are basically three approaches to this:
- You can create a set of random tables to build random syllables and assemble them into words. A somewhat slapdash example of this can be found in the alien language tables for Vilani, Zhodani, etc from GDW's classic Traveller line. The results of their implementation are... less than satisfactory.
- You can use an online utility or program to build your words for you. As with the previous random-ish method, youre going to end up with a lot of junky words that you'll need to sift through.
- You can make words that match your rules by hand. This works best over a long period but I caution against sitting down and writing up a hundred words in one sitting; you'll go stale fast.
Start by observing how place names are built. Place names in England are best for this because their construction is most apparent. Sometimes this is obvious, as in Beaconsfield from Beacon's Field, for example, or Whitchurch from White Church. In other cases it's less obvious, as in Ayslesbury, from Aegel's Fort. It makes perfect sense once you know a burgh is a fort and that in Anglo-Saxon (Old English) the letter g is sometimes pronounced as /y/.
Half an hour with a map and Wikipedia should give you a sense of the pattern of place names... and a good idea of the words you'll need. Here is an exhaustive list of such elements from English place names. By the way, this is the exact method used by Ed Greenwood to construct many of the names in the Forgotten Realms. It's a method that works whether you render the names in plain English or translate them into some other language, although it does presuppose both a roughly medieval western European culture and roughly Indo-European language. Names in the Japanese pattern, for example, are very differently constructed, so for something more exotic you may want to range further afield.
So words for places like river, camp, hill, bay, port, field, mountain, farm, fort, crossing, woods, meadow. And adjectives like rich, great, wide, tall, hale, and number and color words. With, say, ten or twenty from each group you should have sufficient fodder to start building names. Assign words from your word list to the meaning you've assembled.
Here's my sample starting list of thirty words:
|osyrhn||n (place)||river mouth|
|tharn||n (thing)||bird of prey|
|warhn||n (thing)||chief, headman|
This should be enough to get started with, and I made sure to include some elements that could be used in masculine or feminine personal names as well. Now we are almost ready to commence the actual world building, once we know how words can be put together.