To start you need a Linux computer system with the GNU/Linux/X11 development environment.You'll need to download the PRC tools, the palm emulator, the PalmOS SDK, FLTK and some GNU development tools.
This is a C++ tool kit for the X11 and Win32 GUIs. It's nesessary to compile the PalmOS Emulator.
These are the headers and libraries needed to write palm os programs in C. Get the sdk, examples, and docs. The older versions of the SDK aren't absolutely necessary, but you should get them if you are planning on working with a lot of PalmOS apps. http://www.palmos.com/cgi-bin/sdk40.cgi
Note: You could download sdk40.tar.gz. It contains an RPM. I don't use RPMs. So, I won't cover it here. For those that do use RPM's all files are installed to /opt/palmdev. You'll have to interpolate paths or move folders as necessary.
The PalmOS Emulator (POSE) allows you to run a virtual PalmOS on your computers desktop. You can download ROMs for various PalmOS devices. You must fill out the free registration with the Palm Alliance Program to get access to the ROMs.
PRC Tools are a collection of patches against Binutils, GCC, and GDB to support PalmOS. http://sourceforge.net/projects/prc-tools/
Get gdb,gcc, and binutils. The PRC tools are designed for specific versions of binutils, gcc, and gdb. Double check the BUILDING.html file that comes with PRC Tools to be sure you get the right versions of these packages. ftp://ftp.gnu.org/pub/gnu