gevent / Makefile

# This file is renamed to "Makefile.ext" in release tarballs so that won't try to
# run it.  If you want to run "make" automatically, rename it back to "Makefile".

PYTHON ?= python

all: gevent/gevent.core.c gevent/gevent.ares.c gevent/gevent._semaphore.c

gevent/gevent.core.c: gevent/core.ppyx gevent/libev.pxd util/
	$(PYTHON) util/ -o gevent.core.c gevent/core.ppyx
	echo                          >> gevent.core.c
	echo '#include "callbacks.c"' >> gevent.core.c
	mv gevent.core.* gevent/

gevent/gevent.ares.c: gevent/ares.pyx gevent/core.pyx gevent/*.pxd
	cython -o gevent.ares.c gevent/ares.pyx
	mv gevent.ares.* gevent/

gevent/gevent._semaphore.c: gevent/_semaphore.pyx
	cython -o gevent._semaphore.c gevent/_semaphore.pyx
	mv gevent._semaphore.c gevent/

	rm -f gevent.core.c gevent.core.h core.pyx gevent/gevent.core.c gevent/gevent.core.h gevent/core.pyx
	rm -f gevent.ares.c gevent.ares.h gevent/gevent.ares.c gevent/gevent.ares.h

.PHONY: clean all