# PyGlk 0.1.1
MAJOR = 0
MINOR = 1
MICRO = 1

GLKINCLUDEDIR = /usr/local/include/glk
GLKLIBDIR = /usr/local/lib 
GLKMAKEFILE = Make.glkloader

PYVER = 2.1
PYINCLUDEDIR = /usr/include/python$(PYVER)
PYLIBDIR = /usr/lib/
PYLIB = -lpython$(PYVER)

BINDIR = /usr/local/bin
PACKAGEDIR = /usr/local/lib/python$(PYVER)/site-packages

# Pick a C compiler.
CC = gcc -ansi
LINK = gcc
SWIG = swig
PYTHON = python
INSTALL = install -g 0 -o 0

OPTIONS = -g -rdynamic

include $(GLKINCLUDEDIR)/$(GLKMAKEFILE)

CFLAGS = $(OPTIONS) -I$(GLKINCLUDEDIR) -I$(PYINCLUDEDIR)
LDFLAGS = -rdynamic
LIBS = -L$(GLKLIBDIR) $(GLKLIB) $(LINKLIBS) $(PYLIB)

all: pyglk glk.py glkcmodule.so 

pyglk: pyglk.o
	$(LINK) $(LDFLAGS) -o pyglk pyglk.o $(LIBS)

glk.py: generate_glkmodule.py glkc.h
	$(PYTHON) generate_glkmodule.py

glkcmodule.so: glkc_wrap.o
	$(LINK) $(LDFLAGS) -shared -o glkcmodule.so glkc_wrap.o $(LIBS)

glkc_wrap.c: glkc.i glkc.h ref_llhash.h
	$(SWIG) -python glkc.i

install: pyglk glk.py glkcmodule.so
	$(INSTALL) -m 2755 -d $(BINDIR)
	$(INSTALL) -m 0755 pyglk $(BINDIR)
	$(INSTALL) -m 2755 -d $(PACKAGEDIR)
	$(INSTALL) -m 0644 glkcmodule.so $(PACKAGEDIR)
	$(INSTALL) -m 0644 glk.py $(PACKAGEDIR)

clean-swig:
	rm -f *~ *.o pyglk glkcmodule.so glkc_wrap.* glk.py glk.pyc

clean:
	rm -f *~ *.o pyglk glkcmodule.so glk.py glk.pyc

dist-clean: clean glkc_wrap.c
	rm -f ChangeLog

dist: dist-clean
	cvs2cl -U CVS/users
	cd .. && tar zcvf pyglk-$(MAJOR).$(MINOR).$(MICRO).tar.gz `find pyglk -not -path "*CVS*" -type f|xargs` 
