# Makefile for HPI python bindings.
# NOT yet made by autoconf, so you may have to edit the include paths
# Requires swig and python-dev

VPATH = ..
INCLUDES = -I..
DEFS = -DHPI_OS_LINUX
CDEBUG = -g
CFLAGS = -Wall $(CDEBUG) -I. $(INCLUDES) $(DEFS)
LDFLAGS = -g

PYTHONINCLUDE=-I/usr/include/python2.4 -I/usr/include/python

NETOBJECTS = hpinet_swig.o hpifunc.o hpinet.o hpios_linux.o

all: _hpi.so _hpinet.so

_hpinet.so: $(NETOBJECTS)
	gcc -shared  -lpcap -o $@ $^

_hpi.so: hpi_swig.o
	gcc -shared hpi_swig.o -lhpi -o _hpi.so

hpi_swig.c hpi.py: ../hpi.i ../hpi.h
	swig -python -module hpi -modern -DHPI_EXCLUDE_IMPLEMENTATION -DHPI_OS_LINUX -o hpi_swig.c ../hpi.i 

hpi_swig.o: hpi_swig.c
	gcc -c -fpic hpi_swig.c -I.. $(PYTHONINCLUDE)


hpinet_swig.c hpinet.py: ../hpi.i ../hpi.h
	swig -python -module hpinet -modern -DHPI_EXCLUDE_IMPLEMENTATION -DHPI_OS_LINUX -o hpinet_swig.c ../hpi.i 

hpinet_swig.o: hpinet_swig.c
	gcc -c -fpic hpinet_swig.c -I.. $(PYTHONINCLUDE)

$(OBJECTS): hpi.h hpios_linux.h

.PHONY: clean
clean:
	rm *.so *.o *_swig.c
