# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, # 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2007, 2008, 2009, 2010 Massachusetts Institute of # Technology # # This file is part of MIT/GNU Scheme. # # MIT/GNU Scheme is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of the # License, or (at your option) any later version. # # MIT/GNU Scheme is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with MIT/GNU Scheme; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA # 02110-1301, USA. # Standard Makefile for Scheme subsystem directories. # This makefile supports some utilities for Scheme subsystems. # Tools to rebuild these subsystems are written in Scheme and do not # use `make'. # **** BEGIN BOILERPLATE **** SHELL = /bin/sh srcdir = . top_srcdir = .. prefix = /usr exec_prefix = ${prefix} bindir = ${exec_prefix}/bin sbindir = ${exec_prefix}/sbin libexecdir = ${exec_prefix}/libexec datarootdir = ${prefix}/share datadir = ${datarootdir} sysconfdir = ${prefix}/etc sharedstatedir = ${prefix}/com localstatedir = ${prefix}/var libdir = ${exec_prefix}/lib infodir = ${datarootdir}/info mandir = ${datarootdir}/man includedir = ${prefix}/include oldincludedir = /usr/include DESTDIR = top_builddir = .. INSTALL = /bin/install -c --preserve-timestamps INSTALL_PROGRAM = ${INSTALL} INSTALL_DATA = ${INSTALL} -m 644 INSTALL_SCRIPT = ${INSTALL} INSTALL_COM = $(INSTALL_DATA) LN_S = ln -s ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/microcode/mkinstalldirs # **** END BOILERPLATE **** AUXDIR = $(libdir)/mit-scheme-i386 all: build-example echo "No ALL action" mostlyclean clean distclean maintainer-clean: rm -f *.o *.bin kyotocabinet-const kyoto*.c kyotocabinet-const.scm kyotocabinet-shim.so tags TAGS: ./Tags.sh stage1: ./Stage.sh make 1 unstage1: ./Stage.sh unmake 1 stage2: ./Stage.sh make 2 unstage2: ./Stage.sh unmake 2 stage3: ./Stage.sh make 3 unstage3: ./Stage.sh unmake 3 #-*-Makefile-*- # ffi/Makefile-fragment TARGET_DIR = $(AUXDIR)/ffi install: rm -rf $(DESTDIR)$(TARGET_DIR) $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR) $(INSTALL_COM) *.com $(DESTDIR)$(TARGET_DIR)/. $(INSTALL_DATA) *.bci $(DESTDIR)$(TARGET_DIR)/. $(INSTALL_DATA) ffi-*.pkd $(DESTDIR)$(TARGET_DIR)/. $(INSTALL_DATA) make.scm $(DESTDIR)$(TARGET_DIR)/. clean-example: rm -rf kyotocabinet-shim.* kyotocabinet-types.bin rm -rf kyotocabinet-const kyotocabinet-const.* install-example: build-example $(INSTALL_DATA) kyotocabinet-types.bin ../lib/. $(INSTALL_DATA) kyotocabinet-const.bin ../lib/. $(INSTALL_DATA) kyotocabinet-shim.so ../lib/. build-example: kyotocabinet-shim.so kyotocabinet-types.bin kyotocabinet-const.bin kyotocabinet-shim.so: kyotocabinet-shim.o $(CC) -shared -fPIC -o $@ $^ -lkyotocabinet kyotocabinet-shim.o: kyotocabinet-shim.c $(CC) -I/usr/lib/mit-scheme-i386 -Wall -fPIC -o $@ -c $< kyotocabinet-shim.c kyotocabinet-const.c kyotocabinet-types.bin: kyotocabinet.cdecl (echo "(load-option 'FFI)"; \ echo '(C-generate "kyotocabinet" "#include ")') \ | mit-scheme --batch-mode kyotocabinet-const.bin: kyotocabinet-const.scm echo '(sf "kyotocabinet-const")' | mit-scheme --compiler --batch-mode kyotocabinet-const.scm: kyotocabinet-const ./kyotocabinet-const kyotocabinet-const: kyotocabinet-const.o @rm -f $@ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ -lkyotocabinet kyotocabinet-const.o: kyotocabinet-const.c $(CC) -I db.h $(CFLAGS) -o $@ -c $< .PHONY: all mostlyclean clean distclean maintainer-clean tags TAGS .PHONY: stage1 unstage1 stage2 unstage2 stage3 unstage3 install