CC=gcc
GOSH=gosh
GAUCHE_CONFIG=gauche-config
VERSION=$(shell gauche-config -V)
CFLAGS=-g -Wall
INC=-I/usr/lib/gauche/$(VERSION)/include
LIB=-L/usr/X11R6/lib -lX11 -L/usr/lib/gauche/$(VERSION)/i686-pc-linux-gnu \
	-lgauche -ldl -lcrypt -lutil -lm -lpthread

MODULE=x11
OBJ=$(MODULE).o $(MODULE)lib.o $(MODULE)_head.o $(MODULE)_tail.o

all: $(MODULE).so

.SUFFIXES: .o .stub

.c.o:
	$(CC) $(CFLAGS) -c $< $(INC)

.stub.c:
	$(GOSH) genstub $<

$(MODULE).so: $(OBJ)
	gcc -Wl,-soname,$@ -shared -o $@ $^ $(LIB)

$(MODULE)lib.c: $(MODULE)lib.stub

$(MODULE)_head.c $(MODULE)_tail.c:
	$(GAUCHE_CONFIG) --fixup-extension $(MODULE)

clean:
	rm -f *.o *.so *_head.* *_tail.* $(MODULE)lib.c
