# Makefile for CLISP module set Berkeley-DB

srcdir = .
CC = gcc
DBCPPFLAGS = -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/db4
CFLAGS = -O2 -fno-builtin-calloc -fno-builtin-malloc -fno-builtin-memalign -fno-builtin-realloc -fno-builtin-valloc -fno-builtin-free -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -Wmissing-declarations -O2 -DENABLE_UNICODE -DDYNAMIC_FFI -DDYNAMIC_MODULES -I. -fPIC
CLISP = /usr/pkg/bin/clisp -norc -q
CLISP_LINKKIT = /usr/pkg/lib/clisp/linkkit

LN = ln
LN_S = ln -s

MAKE = make

SHELL = /bin/sh

GENERATED = bdb.o dbi.fas preload.lisp
DISTRIBFILES = link.sh Makefile $(GENERATED) $(srcdir)/dbi.lisp
distribdir =

# default target: make the module
clisp-module : $(GENERATED)

dbi.fas: $(srcdir)/dbi.lisp
	$(CLISP) -c $(srcdir)/dbi.lisp -o ./

bdb.m.c: $(srcdir)/bdb.c
	$(CLISP) -C $(CLISP_LINKKIT)/modprep $(srcdir)/bdb.c ./

bdb.o : bdb.m.c config.h
	$(CC) $(CPPFLAGS) $(DBCPPFLAGS) $(CFLAGS) -I$(CLISP_LINKKIT) \
		-c bdb.m.c -o bdb.o

preload.lisp : $(srcdir)/preload.lisp
	$(LN_S) $(srcdir)/preload.lisp .

# Make a module distribution into $(distribdir)
clisp-module-distrib : clisp-module force
	$(LN) $(DISTRIBFILES) $(distribdir)

clean : force
	rm -f core *.o *.a *.m.c *.fas *.lib

distclean : clean

force :

