1# Makefile.in for Jade version 4
2# Copyright (C) 1998 John Harper <john@dcs.warwick.ac.uk>
3# $Id: Makefile.in,v 1.33 2003/09/04 05:57:43 jsh Exp $
4#
5# This file is part of Jade.
6#
7# Jade is free software; you can redistribute it and/or modify it
8# under the terms of the GNU General Public License as published by
9# the Free Software Foundation; either version 2, or (at your option)
10# any later version.
11#
12# Jade is distributed in the hope that it will be useful, but
13# WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15# GNU General Public License for more details.
16#
17# You should have received a copy of the GNU General Public License
18# along with Jade; see the file COPYING.  If not, write to
19# the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20
21ETAGS:= etags
22
23top_builddir=.
24
25ALL_SUBDIRS = intl src lisp man
26INSTALL_SUBDIRS = src lisp man
27
28all : build.h doc-strings
29	for dir in $(ALL_SUBDIRS); do \
30	  [ -d $$dir ] && ( cd $$dir && $(MAKE) $@ ) || exit 1; \
31	done
32
33build.h : build-info config.status
34	$(SHELL) $< $(version) \
35	  '$(repdir)' '$(replispdir)' '$(repexecdir)' \
36	  '$(repdocfile)' '$(repcommonexecdir)' >$@
37
38check :
39	for dir in $(ALL_SUBDIRS); do \
40	  [ -d $$dir ] && ( cd $$dir && $(MAKE) $@ ) || exit 1; \
41	done
42
43install : all installdirs
44	for dir in $(INSTALL_SUBDIRS); do \
45	  ( cd $$dir && $(MAKE) $@ ) || exit 1; \
46	done
47	$(INSTALL_DATA) doc-strings $(DESTDIR)$(repexecdir)
48	$(INSTALL_SCRIPT) emulate-gnu-tar $(DESTDIR)$(repexecdir)
49	$(INSTALL_SCRIPT) libtool $(DESTDIR)$(repcommonexecdir)
50	$(INSTALL_DATA) rules.mk $(DESTDIR)$(repcommonexecdir)
51	$(INSTALL_SCRIPT) install-aliases $(DESTDIR)$(repcommonexecdir)
52	$(INSTALL_DATA) rep-debugger.el $(DESTDIR)$(emacssitelispdir)
53	mkdir -p $(DESTDIR)$(prefix)/libdata/pkgconfig
54	$(INSTALL_DATA) $(top_srcdir)/librep.pc $(DESTDIR)$(prefix)/libdata/pkgconfig/
55
56installdirs : mkinstalldirs
57	$(SHELL) $< $(DESTDIR)$(repdir) \
58	  $(DESTDIR)$(bindir) $(DESTDIR)$(aclocaldir) \
59	  $(DESTDIR)$(repcommonexecdir) $(DESTDIR)$(repexecdir) \
60	  $(DESTDIR)$(emacssitelispdir)
61
62uninstall :
63	-for dir in $(INSTALL_SUBDIRS); do \
64	  ( cd $$dir && $(MAKE) $@ ) || exit 1; \
65	done
66	rm -rf $(DESTDIR)$(repdir)
67	rm -rf $(DESTDIR)$(repexecdir)
68	rm -f $(DESTDIR)$(repcommonexecdir)/rules.mk
69	rm -f $(DESTDIR)$(repcommonexecdir)/install-aliases
70	rm -f $(DESTDIR)$(repcommonexecdir)/libtool
71	rm -f $(DESTDIR)$(emacssitelispdir)/rep-debugger.el
72	rm -f $(DESTDIR)$(prefix)/libdata/pkgconfig/librep.pc
73
74doc-strings : src/repdoc
75	src/repdoc doc-strings `find $(top_srcdir) -name '*.c' -print|LC_ALL=C sort`
76
77src/repdoc :
78	( cd src && $(MAKE) repdoc )
79
80NEWS : man/news.texi
81	( cd man && $(MAKE) ../NEWS )
82
83clean :
84	-for dir in $(ALL_SUBDIRS); do \
85	  [ -d $$dir ] && ( cd $$dir && $(MAKE) $@ ) || exit 1; \
86	done
87	rm -f *~ NEWS doc-strings TAGS build.h
88
89distclean :
90	-for dir in $(ALL_SUBDIRS); do \
91	  [ -d $$dir ] && ( cd $$dir && $(MAKE) $@ ) || exit 1; \
92	done
93	rm -f config.cache config.h config.log config.status Makefile libtool
94	rm -f *~ NEWS doc-strings TAGS build.h rules.mk configure.orig librep.pc
95
96gitclean : distclean
97	rm -rf m4/ autom4te.cache
98	rm -f aclocal.m4 configure \
99		configure.lineno ltmain.sh \
100		config.h.in librep-*.ebuild \
101		librep.spec
102
103tags: TAGS
104#
105# Use separate and explicit expressions rather than "(def.*" to avoid
106# grabbing:
107# ./lisp/rep.jl:54:       (default-error-handler (car error-data) [...]
108# ./lisp/define.jl:146:  (define-scan-internals body))
109#
110TAGS :
111	-rm -f $@
112	set -e;								      \
113	c_files=`find $(top_srcdir) -name '*.[hc]' -print`;		      \
114	rep_files=`find $(top_srcdir) -name '*.jl' -print`;		      \
115	${ETAGS} --language=c $$c_files					      \
116	  --language=none						      \
117	   --regex='/[ \t]*DEFSTRING[ \t]*([ \t]*\([^ \t,]+\)/\1/'	      \
118	   --regex='/[ \t]*DEFSYM[ \t]*([ \t]*\([^ \t,]+\)/Q\1/'	      \
119	   --regex='/[ \t]*DEFSYM[ \t]*([ \t]*[^ \t,]+[ \t,]+"\([^"]+\)/\1/'  \
120	   --regex='/[ \t]*DEFUN\(_INT\)?[ \t]*([ \t]*"\([^"]+\)/\2/'	      \
121		$$c_files						      \
122	  --language=lisp $$rep_files					      \
123	  --language=none						      \
124	   --regex='/[ \t]+([ \t]*defun[ \t]+(?[ \t]*\([^ \t)]+\)/\1/'	      \
125	   --regex='/[ \t]+([ \t]*define[ \t]+(?[ \t]*\([^ \t)]+\)/\1/'	      \
126	   --regex='/[ \t]+([ \t]*defmacro[ \t]+(?[ \t]*\([^ \t)]+\)/\1/'     \
127	   --regex='/[ \t]+([ \t]*defsubst[ \t]+(?[ \t]*\([^ \t)]+\)/\1/'     \
128	   --regex='/[ \t]+([ \t]*defconst[ \t]+(?[ \t]*\([^ \t)]+\)/\1/'     \
129	   --regex='/[ \t]+([ \t]*defvar[ \t]+(?[ \t]*\([^ \t)]+\)/\1/'	      \
130	   --regex="/[ \t]+([ \t]*define-file-handler[ \t]+'\([^ \t)]+\)/\1/" \
131	   --regex="/[ \t]+([ \t]*define-datum-printer[ \t]+'\([^ \t)]+\)/\1/"\
132		$$rep_files
133
134.PHONY: install uninstall nobak clean gitclean TAGS tags distclean
135