As others have said, most packages from source will include a "INSTALL.TXT", or a "README"/"README.TXT", or "PLATFORM.TXT", or something similar. These files or group of files will contain the information on how to setup and build the package. If no such documentation exists, then it is either an extremely experimental/beta version and/or not supported in anyway, shape or form. Typically the download will include a "configure" script which will scan through your system and run checks to see that you have everything that is needed installed (if it can find it), and lets you set your install options (like install location, extra build options, shared library build or static build (a static build will include all needed library files in the actual executable, the shared library build will use the external libraries on the system to run the program... there are some cases where you may want one option or the other depending on what you are doing, for instance, you may be sharing the application out across the network where not every system has the same versions of certain library files, so you may want to do a static build in this case...). The "./configure" script will usually list all the options that you can set on the program before you compile it, and you tell the "./configure" script the options with different flags. "./configure --prefix=/sw/local/my_app --enable-ftp --with-zlib=/usr/local/lib --without-gettext" for example is a how you might turn on or off certain options as well as tell the script where something is located (like where the zlib libraries are found in /usr/local/lib) and where you want the application to install (--prefix=/sw/local/my_app).
The configure scrip creates the custom built "Makefile". You then use the "make" command (which defaults to look for a file called "Makefile"), and it will start to build the object files from the source code. Once the object files are created, "make install" will merge all the object files into the correct binaries and copy the binaries to the install directory. However, most complex software will include a group of tests to make sure your build is working properly and found everything it needed. To run the test, it is usually "make test". You do this before you do the "make install". If something is wrong with the test (i.e. it fails a lot of the tests), run a "make distclean" which will remove all the object files created from the initial "make" and remove the Makefile (since we know something is wrong with that setup) and then you can try again, hopefully using the information from the errors to diagnose the reason for the problem and correcting it by changing a config option, installing a new library file, changing your archiver tool, or loader tool, or even compiler.
Please note, that building a program is not always easy and straight-forward. That is why people get college degree's in Computer Science to learn what to do. Ask anyone who has tried to compile the latest version of gcc, or Xorg, or XFree86, and they will tell you it can be a biggest pain in the neck.