# Makedefs.in -- input for the common Makefile definitions
# Copyright (C) 1998 John Harper <john@dcs.warwick.ac.uk>
# $Id: Makedefs.in,v 1.35 2003/09/04 05:57:43 jsh Exp $
#
# This file is part of Jade.
#
# Jade 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, or (at your option)
# any later version.
#
# Jade 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 Jade; see the file COPYING.  If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.

version=0.92.2.1
libversion=16:0:0
SHELL=/bin/sh

top_srcdir=.
srcdir=.

prefix=/usr
exec_prefix=${prefix}
datarootdir=${prefix}/share
datadir=${datarootdir}
bindir=${exec_prefix}/bin
includedir=${prefix}/include
infodir=${datarootdir}/info
libdir=${exec_prefix}/lib
libexecdir=${exec_prefix}/libexec
localstatedir=${prefix}/var
mandir=${datarootdir}/man
sharedstatedir=${prefix}/com
aclocaldir=/usr/share/aclocal
emacssitelispdir=${datadir}/emacs/site-lisp

repdir=${datadir}/rep
replispdir=${repdir}/lisp
repexecdir=${libdir}/rep
repcommonexecdir=${libdir}/rep
repdocfile=${repexecdir}/doc-strings

CC=ccache gcc-4.7
LIBTOOL=$(SHELL) $(top_builddir)/libtool
MAKEDEP=$(CC) -MM
CPPFLAGS=-DHAVE_CONFIG_H -I. -I$(top_srcdir)/src -I.. 
CFLAGS=-g -O2 -Wall -Wpointer-arith -Wmissing-prototypes
LDFLAGS=
LIBS=-ldl  -lcrypt
LIBOBJS=
EXTRA_LIBOBJS=
READLINE_LIBS= -L/lib -lreadline  -ltermcap
GMP_LIBS=-lgmp -lm
GDBM_LIBS=-lgdbm
LIBFFI_LIBS=-lffi  

DESTDIR=
INSTALL=/usr/bin/install -c
INSTALL_DATA=${INSTALL} -m 644
INSTALL_PROGRAM=${INSTALL}
INSTALL_SCRIPT=${INSTALL}

MAKEINFO = makeinfo --no-split
MAKEINFOFLAGS =
TEXI2DVI = texi2dvi
TEXI2PDF = texi2pdf
DVIPS = dvips

HAVE_X11=
HAVE_UNIX=1

.PHONY: clean realclean install

rep_prog = $(top_builddir)/src/rep
COMPILE_ENV = REPLISPDIR=$(top_builddir)/lisp \
	      REP_DL_LOAD_PATH=$(top_builddir)/src/.libexec \
	      REPDOCFILE=$(top_builddir)/doc-strings

include $(top_srcdir)/rules.mk
rep_LIBTOOL=$(SHELL) $(top_builddir)/libtool

# Rule for ``normal'' C objects
%.o : %.c
	$(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<

# Rule for ``normal'' executables
% : %.c
	$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS)

# Rule for libtool controlled C objects
%.lo : %.c
	$(LIBTOOL) --mode=compile --tag=CC $(CC) -c $(CPPFLAGS) $(CFLAGS) $<

# Rule for dlopen'able C objects
%.la : %.c
	$(LIBTOOL) --mode=compile --tag=CC $(CC) -c $(CPPFLAGS) $(CFLAGS) $<
	$(rep_DL_LD) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $*.lo

# Build dependancy files from C source files.
.%.d : %.c
	$(SHELL) -ec '$(MAKEDEP) $(CPPFLAGS) $< \
	| sed '\''s/$*\.o/& $*.lo .$*\.d/g'\'' > $@'
# Makefile.in for Jade version 4
# Copyright (C) 1998 John Harper <john@dcs.warwick.ac.uk>
# $Id: Makefile.in,v 1.33 2003/09/04 05:57:43 jsh Exp $
#
# This file is part of Jade.
#
# Jade 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, or (at your option)
# any later version.
#
# Jade 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 Jade; see the file COPYING.  If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.

ETAGS:= etags

top_builddir=.

ALL_SUBDIRS = intl src lisp man
INSTALL_SUBDIRS = src lisp man

all : build.h doc-strings
	for dir in $(ALL_SUBDIRS); do \
	  [ -d $$dir ] && ( cd $$dir && $(MAKE) $@ ) || exit 1; \
	done

build.h : build-info config.status
	$(SHELL) $< $(version) \
	  '$(repdir)' '$(replispdir)' '$(repexecdir)' \
	  '$(repdocfile)' '$(repcommonexecdir)' >$@

check :
	for dir in $(ALL_SUBDIRS); do \
	  [ -d $$dir ] && ( cd $$dir && $(MAKE) $@ ) || exit 1; \
	done

install : all installdirs
	for dir in $(INSTALL_SUBDIRS); do \
	  ( cd $$dir && $(MAKE) $@ ) || exit 1; \
	done
	$(INSTALL_DATA) doc-strings $(DESTDIR)$(repexecdir)
	$(INSTALL_SCRIPT) emulate-gnu-tar $(DESTDIR)$(repexecdir)
	$(INSTALL_SCRIPT) libtool $(DESTDIR)$(repcommonexecdir)
	$(INSTALL_DATA) rules.mk $(DESTDIR)$(repcommonexecdir)
	$(INSTALL_SCRIPT) install-aliases $(DESTDIR)$(repcommonexecdir)
	$(INSTALL_DATA) rep-debugger.el $(DESTDIR)$(emacssitelispdir)
	mkdir -p $(DESTDIR)$(libdir)/pkgconfig
	$(INSTALL_DATA) $(top_srcdir)/librep.pc $(DESTDIR)$(libdir)/pkgconfig/

installdirs : mkinstalldirs
	$(SHELL) $< $(DESTDIR)$(repdir) \
	  $(DESTDIR)$(bindir) $(DESTDIR)$(aclocaldir) \
	  $(DESTDIR)$(repcommonexecdir) $(DESTDIR)$(repexecdir) \
	  $(DESTDIR)$(emacssitelispdir)

uninstall :
	-for dir in $(INSTALL_SUBDIRS); do \
	  ( cd $$dir && $(MAKE) $@ ) || exit 1; \
	done
	rm -rf $(DESTDIR)$(repdir)
	rm -rf $(DESTDIR)$(repexecdir)
	rm -f $(DESTDIR)$(repcommonexecdir)/rules.mk
	rm -f $(DESTDIR)$(repcommonexecdir)/install-aliases
	rm -f $(DESTDIR)$(repcommonexecdir)/libtool
	rm -f $(DESTDIR)$(emacssitelispdir)/rep-debugger.el
	rm -f $(DESTDIR)$(libdir)/pkgconfig/librep.pc

doc-strings : src/repdoc
	src/repdoc doc-strings `find $(top_srcdir) -name '*.c' -print`

src/repdoc :
	( cd src && $(MAKE) repdoc )

NEWS : man/news.texi
	( cd man && $(MAKE) ../NEWS )

clean :
	-for dir in $(ALL_SUBDIRS); do \
	  [ -d $$dir ] && ( cd $$dir && $(MAKE) $@ ) || exit 1; \
	done
	rm -f *~ NEWS doc-strings TAGS build.h

distclean :
	-for dir in $(ALL_SUBDIRS); do \
	  [ -d $$dir ] && ( cd $$dir && $(MAKE) $@ ) || exit 1; \
	done
	rm -f config.cache config.h config.log config.status Makefile libtool
	rm -f *~ NEWS doc-strings TAGS build.h rules.mk configure.orig librep.pc

debclean : distclean
	rm librep*.ebuild librep.spec config.h.in
	rm m4/* aclocal.m4 configure ltmain.sh

gitclean : distclean
	rm -f aclocal.m4 configure
	rm -rf autom4te.cache
	rm -f librep.spec librep-*.ebuild
	-fakeroot debian/rules clean
	rm -f librep-*.ebuild librep.spec
	rm -rf aclocal.m4 m4/ configure \
		configure.lineno ltmain.sh \
		autom4te.cache

tags: TAGS
#
# Use separate and explicit expressions rather than "(def.*" to avoid
# grabbing:
# ./lisp/rep.jl:54:       (default-error-handler (car error-data) [...]
# ./lisp/define.jl:146:  (define-scan-internals body))
#
TAGS :
	-rm -f $@
	set -e;								      \
	c_files=`find $(top_srcdir) -name '*.[hc]' -print`;		      \
	rep_files=`find $(top_srcdir) -name '*.jl' -print`;		      \
	${ETAGS} --language=c $$c_files					      \
	  --language=none						      \
	   --regex='/[ \t]*DEFSTRING[ \t]*([ \t]*\([^ \t,]+\)/\1/'	      \
	   --regex='/[ \t]*DEFSYM[ \t]*([ \t]*\([^ \t,]+\)/Q\1/'	      \
	   --regex='/[ \t]*DEFSYM[ \t]*([ \t]*[^ \t,]+[ \t,]+"\([^"]+\)/\1/'  \
	   --regex='/[ \t]*DEFUN\(_INT\)?[ \t]*([ \t]*"\([^"]+\)/\2/'	      \
		$$c_files						      \
	  --language=lisp $$rep_files					      \
	  --language=none						      \
	   --regex='/[ \t]+([ \t]*defun[ \t]+(?[ \t]*\([^ \t)]+\)/\1/'	      \
	   --regex='/[ \t]+([ \t]*define[ \t]+(?[ \t]*\([^ \t)]+\)/\1/'	      \
	   --regex='/[ \t]+([ \t]*defmacro[ \t]+(?[ \t]*\([^ \t)]+\)/\1/'     \
	   --regex='/[ \t]+([ \t]*defsubst[ \t]+(?[ \t]*\([^ \t)]+\)/\1/'     \
	   --regex='/[ \t]+([ \t]*defconst[ \t]+(?[ \t]*\([^ \t)]+\)/\1/'     \
	   --regex='/[ \t]+([ \t]*defvar[ \t]+(?[ \t]*\([^ \t)]+\)/\1/'	      \
	   --regex="/[ \t]+([ \t]*define-file-handler[ \t]+'\([^ \t)]+\)/\1/" \
	   --regex="/[ \t]+([ \t]*define-datum-printer[ \t]+'\([^ \t)]+\)/\1/"\
		$$rep_files

.PHONY: install uninstall nobak clean gitclean TAGS tags distclean
