#
# $Id: Makefile 71 2006-08-01 18:46:39Z ehagen $
#
# This simple makefile builds a Perl interface to the GPSTk from code
# generated the SWIG utility (http://www.swig.org/). 
#
# You shouldn't need to install SWIG to compile this interface as
# distributed, unless you change the interface definition (.i files).
#
# What you do need:
#  - A C/C++ compiler.
#  - Development headers of Perl
#  - Knowledge of which directory contains "perl.h", "Extern.h" and "XSUB.h"
#  - The sed utility
# 
# Not all GPSTk functionality is present in these bindings.
# Two reasons: First, this is a work in progress and should be considered
# incomplete. Second, not all of the GPSTk's functionality _can_ be mapped
# into other languages such as perl.
#
# Examples of usage of this interface are in the examples subdirectory.
#
# Reminder for later: $@ is target, $< is rhs, $^ is rhs

all :	gpstk-perl.so 

gpstk_wrap.cxx: ../gpstk.i ../common.i ../Exception.i ../GPSZcount.i \
	../DayTime.i ../FFTextStream.i ../RinexObsStream.i
	swig -perl5 -c++ -I.. \
	gpstk.i

gpstk_wrap_mod.cxx: gpstk_wrap.cxx
	sed 's/DayTime.hpp\"/DayTime.hpp\"\nusing namespace gpstk;/' gpstk_wrap.cxx > gpstk_wrap_mod.cxx

gpstk_wrap_mod.o: gpstk_wrap_mod.cxx
	g++ -fpic -c gpstk_wrap_mod.cxx -I.. -I /usr/lib/perl/5.8.4/CORE \
		-Dbool=char `perl -e 'use Config; print $Config{ccflags}'`

gpstk-perl.so: gpstk_wrap_mod.o
	g++ -shared gpstk_wrap_mod.o -o gpstk-perl.so -lgpstk

clean:
	rm *_wrap*
	rm *gpstk*.so






