PACKAGE = Gramofile
MODULE = $(PACKAGE)
LIB := $(MODULE).so
INCLUDES := $(wildcard *.h)
#vpath %.h ../gramofile.dist
OBJS := $(patsubst %.c,%.o,$(wildcard *.c))
SWIGWRAP := $(patsubst %.c,%_wrap.c,$(wildcard *.c))
SWIGOBJS := $(patsubst %.c,%_wrap.o,$(wildcard *.c))
PERLCORE = -I/usr/lib/perl5/5.005/i386-linux/CORE 
SHELL = /bin/sh
SWIG = swig
CC = gcc
CFLAGS = -c -Wall -O2 -fpic -DSWIG -DTURBO_MEDIAN -DTURBO_BUFFER -Dbool=char
LD = ld
LDFLAGS = -shared
LIBS = -lm -ldl

swig:: $(LIB)

%_wrap.o : %_wrap.c
	$(CC) $(CFLAGS) $< $(PERLCORE)

%_wrap.c : %.i
	$(SWIG) -perl5 -module $* -package $(PACKAGE) $<

%.o: %.c $(INCLUDES)
	$(CC) $(CFLAGS) $< $(PERLCORE)

$(LIB): Gramofile_wrap.o $(OBJS)
	$(CC) $(LDFLAGS) $^ -o $@ $(LIBS)

.PHONY: clean
clean:
	-rm -f *.so *.o *.d *_wrap.c *_wrap.doc *.pm
