LDFLAGS := -shared -lpython2.7 -pthread # -lgsl -lblas -lgslcblas

# homebrew
ifneq (,$(findstring Darwin,$(shell uname)))
  PY += -I/usr/local/include/python2.7 -I/usr/local/lib/python2.7/site-packages/numpy/core/include
endif

# blacklight
ifneq (,$(findstring blacklight,$(shell hostname)))
  PY += -I/usr/local/packages/python/2.7.1/lib/python2.7/site-packages/numpy-1.6.1-py2.7-linux-x86_64.egg/numpy/core/include -I/usr/local/packages/python/2.7.1/include/python2.7
  LDFLAGS += -L/usr/local/packages/python/2.7.1/lib
endif

# ec2
PY += -I/usr/include/python2.7

CFLAGS := -pthread -fwrapv -O2 -fno-strict-aliasing -fPIC
CC := gcc

MODULES := util.pyx

default: lightspeed_util.o $(patsubst %.pyx,%.so,$(MODULES))

%.html : %.pyx
	cython -a $< -o $@
	open $@

%.c : %.pyx
	cython $< -o $@

%.o : %.c
	$(CC) -c $(CFLAGS) $(PY) $< -o $@

%.so : %.o
	$(CC) $(CFLAGS) $(LDFLAGS) lightspeed_util.o $< -o $@

TO_CLEAN += $(patsubst %.pyx,%.o,$(MODULES))
TO_CLEAN += $(patsubst %.pyx,%.so,$(MODULES))
TO_CLEAN += $(patsubst %.pyx,%.c,$(MODULES))
TO_CLEAN += $(patsubst %.pyx,%.html,$(MODULES))

clean:
	rm -f $(TO_CLEAN)

