Listing 4: Makefile.

#NOTE: run: ruby -e 'puts $:.join("\n")' to find path to ruby headers
RUBY_H_PATH = "/usr/lib/ruby/1.6/i686-linux-gnu"

Geo.so: Geo_wrap.o line.o
    g++ -shared line.o Geo_wrap.o -o Geo.so
Geo_wrap.o: Geo_wrap.cxx
    g++ -c Geo_wrap.cxx -I${RUBY_H_PATH}
Geo_wrap.cxx: Geo.i line.h point.h 
    swig -c++ -ruby Geo.i
line.o : line.cpp line.h point.h 
    g++ -c line.cpp