CC = gcc
LD = ld
CFLAGS = -Wall -g -O2 -Ibkdsp -I/usr/include/python2.3 \
	-I/usr/include/python2.4 \
	-I/usr/include/python2.5 \
	-fno-strict-aliasing
LDFLAGS =
PYTHON=python
TESTS=test-AM test-FM test-QM test-FSK
OBJS=pydsp/bkdsp_api/python.o pydsp/bkdsp_api/dds.o pydsp/bkdsp_api/fir.o \
	pydsp/bkdsp_api/qam.o

pybkdsp.so: bkdsp/bkdsp.o ${OBJS}
	${CC} ${CFLAGS} -shared \
	bkdsp/bkdsp.o ${OBJS} \
	-o pybkdsp.so

bkdsp/bkdsp.o: 
	sh -c "cd bkdsp;${MAKE} -f Makefile"

.PHONY: clean
clean:
	-rm ${OBJS}
	-rm pybkdsp.so
	find -name "*.pyc"|xargs -r rm
	sh -c "cd bkdsp;${MAKE} -f Makefile clean"

.PHONY: bkdsp/bkdsp.o

tests: $(TESTS)

test-AM:
	PYTHONPATH=. $(PYTHON) pydsp/Modulation/_amplitude.py
test-FM:
	PYTHONPATH=. $(PYTHON) pydsp/Modulation/_frequency.py
test-QM:
	PYTHONPATH=. $(PYTHON) pydsp/Modulation/_quadrature.py
test-FSK:
	PYTHONPATH=. $(PYTHON) pydsp/Modulation/_fsk.py
test-DSB-SC:
	PYTHONPATH=. $(PYTHON) pydsp/Modulation/_dsbsc.py
