Once upon a time, Freecell Solver was distributed only with a makefile for GNU make, and everyone were happy.
When Stephan Kulow embedded its code into kpat, he adapted the makefile to use the standard KDE Autoconf-based build process.
Somewhat afterwards, I decided that I want the build process to be more portable and modular, and to give users the ability to build a shared library.
The solution - converting to Autoconf, Automake and Libtool.
How to do that exactly is out of the scope of this lecture. I can just say that it is not very straightforward, and that it required a lot of tweaking and trial and error.
I then decided that having an RPM of Freecell Solver would be nice. So I created an RPM spec for it.
Again, it required quite a lot of tweaking and experimenting. (Tzafrir Cohen's Lecture and various web-resources were a great help)
I eventually integrated generating an up-to-date RPM SPEC into the Autoconf process, and thus, was able to build an RPM by issuing a constant sequence of commands.
A corresponding Debian package has been initially created by Yotam Rubin and is now maintained by Risko Gergely, who also uploads it to the Debian pool of packages.