# Change these two pathes to point to your includes and lib of your installed gsl (GNU Scientific Library)
OPIDIR=/opt/local/include
OPLDIR=/opt/local/lib

IDIR =../include
CC=gcc
LD=gcc
CFLAGS=-I$(IDIR) -I$(OPIDIR)
LFLAGS=-L$(OPLDIR)
LDFLAGS=-shared

ODIR=../obj
LDIR=../lib

LIBS=-lm -lgsl -lgslcblas

_DEPS = ssd.h matrix_utility.h pwelch.h gaussfit_ssd.h lmf_solve.h
DEPS = $(patsubst %,$(IDIR)/%,$(_DEPS))

_LOBJ = ssd.o matrix_utility.o pwelch.o gaussfit_ssd.o lmf_solve.o
LOBJ = $(patsubst %,$(ODIR)/%,$(_LOBJ))

_OBJ = main.o sdd.so
OBJ = $(patsubst %,$(ODIR)/%,$(_OBJ))

$(ODIR)/%.o: %.c $(DEPS)
	$(CC) -c -o $@ $< $(CFLAGS)

$(ODIR)/sdd.so: $(LOBJ)
	$(LD) -o $@ $^ $(LDFLAGS) $(LFLAGS) $(LIBS)

main: $(OBJ)
	$(LD) -o $@ $^ $(LFLAGS) $(LIBS)

.PHONY: clean

clean:
	rm -f $(ODIR)/*.o *~ core $(INCDIR)/*~