#
# Makefile
#

CC = gcc
CPP = g++
MEX = /usr/local/bin/mex

QTSDK = /home/grendel/Programs/qtsdk-2010.05
ROOT = /home/grendel/Programs/qtblibs/qtblibs_20101108

DEFINES = -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_SHARED
CFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) -fPIC
LFLAGS = -Wl,-O1 -Wl,-rpath,$(QTSDK)/qt/lib
MATLIB = -I$(ROOT)/qtbtools/src \
         -I$(ROOT)/qtbwave/src
INCPATH = -I$(QTSDK)/qt/mkspecs/linux-g++ -I. \
          -I$(QTSDK)/qt/include/QtCore \
          -I$(QTSDK)/qt/include -Isrc -Iui \
          -Irelease $(MATLIB)
LIBS = -L$(QTSDK)/qt/lib -L$(ROOT)/lib \
       -lqtbtools -lqtbwave -lQtCore \
       -lm -lrt -ldl -lpthread

all: dispersion_curve_init dispersion_curve_rayleigh dispersion_curve_love \
     ellipticity_curve_rayleigh ellipticity_peak0_rayleigh C_test

dispersion_curve_init: dispersion_curve_init.c qtbwave.o
	$(MEX) $(LFLAGS) -o dispersion_curve_init -g dispersion_curve_init.c qtbwave.o $(LIBS)

dispersion_curve_love: dispersion_curve_love.c qtbwave.o
	$(MEX) $(LFLAGS) -o dispersion_curve_love -g dispersion_curve_love.c qtbwave.o $(LIBS)

dispersion_curve_rayleigh: dispersion_curve_rayleigh.c qtbwave.o
	$(MEX) $(LFLAGS) -o dispersion_curve_rayleigh -g dispersion_curve_rayleigh.c qtbwave.o $(LIBS)

ellipticity_curve_rayleigh: ellipticity_curve_rayleigh.c qtbwave.o
	$(MEX) $(LFLAGS) -o ellipticity_curve_rayleigh -g ellipticity_curve_rayleigh.c qtbwave.o $(LIBS)

ellipticity_peak0_rayleigh: ellipticity_peak0_rayleigh.c qtbwave.o
	$(MEX) $(LFLAGS) -o ellipticity_peak0_rayleigh -g ellipticity_peak0_rayleigh.c qtbwave.o $(LIBS)

C_test: C_test.c qtbwave.o
	$(CC) $(LFLAGS) -o C_test -g C_test.c qtbwave.o $(LIBS)

qtbwave.o: qtbwave.c
	$(CPP) -c $(CFLAGS) $(INCPATH) -o qtbwave.o qtbwave.c

install:

clean:
	rm -rf *.o *.mexglx *.mexa64 C_test

