1 # Makefile.in for ZenIRC. -*- makefile -*-
3 # Copyright (C) 1994, 1995 Noah S. Friedman
4 # Copyright (C) 1994, 1995, 1996 Per Persson
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2, or (at your option)
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software
18 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 #### Start of system configuration section. ####
26 INSTALL_PROGRAM = @INSTALL_PROGRAM@
27 INSTALL_DATA = @INSTALL_DATA@
30 exec_prefix = @exec_prefix@
32 # The directory for object files and libraries of object code. Do
33 # not install executables here; they belong in `libexecdir' instead.
34 libdir = $(exec_prefix)/lib
36 # The directory for installing the Info files for this package.
37 infodir = $(prefix)/info
39 elispdir = $(libdir)/emacs/site-lisp
45 MAKEINFOFLAGS = --no-split -I. -I$(srcdir)
46 BATCHFLAGS = -batch -q -no-site-file
52 TEXI2DVIFLAGS = #-I. -I$(srcdir)
54 #### End of system configuration section. ####
58 DISTFILES = BUGS TODO COPYING NEWS INSTALL README \
59 Makefile.in configure configure.in install-sh mkinstalldirs
61 DOCFILES = FAQ RFC1459 irc-operators tao-of-irc zenirc.ascii \
62 README-OLD ctcp.doc server-list tour.of.irc zenirc.info \
63 zenirc.texi undernet 666.conspiracy
65 SRCFILES = $(ELFILES) ChangeLog zenirc-make.el
67 ELFILES = zenirc-18.el zenirc-away.el zenirc-bork.el zenirc-command-queue.el \
68 zenirc-complete.el zenirc-ctcp-flood.el zenirc-dcc.el \
69 zenirc-doto.el zenirc-example.el zenirc-fill.el zenirc-finnish.el \
70 zenirc-format.el zenirc-fortran.el zenirc-french.el \
71 zenirc-ignore.el zenirc-iwantop.el zenirc-klingon.el \
72 zenirc-latin.el zenirc-meditate.el zenirc-netsplit.el \
73 zenirc-notify.el zenirc-oink.el zenirc-ojnk.el zenirc-pjg.el \
74 zenirc-popup.el zenirc-random-away.el zenirc-random-nick.el \
75 zenirc-signal.el zenirc-stamp.el zenirc-swedish.el zenirc-yow.el \
76 zenirc-history.el zenirc-color.el zenirc-8ball.el zenirc-trigger.el \
77 zenirc-yow-filter.el zenirc.el zenirc-prime-p.el zenirc-eval.el
79 MFLAGS = ELFILES='$(ELFILES)' \
80 AUTOCONF='$(AUTOCONF)' EMACS='$(EMACS)' ETAGS='$(ETAGS)' \
81 MAKEINFO='$(MAKEINFO)' MAKEINFOFLAGS='$(MAKEINFOFLAGS)' \
82 MV='$(MV)' RM='$(RM)' CP='$(CP)' TAR='$(TAR)' \
83 TEXI2DVI='$(TEXI2DVI)' TEXI2DVIFLAGS='$(TEXI2DVIFLAGS)' \
84 INSTALL='$(INSTALL)' INSTALL_DATA='$(INSTALL_DATA)' \
85 INSTALL_PROGRAM='$(INSTALL_PROGRAM)' SHELL='$(SHELL)' \
86 elispdir='$(elispdir)' exec_prefix='$(exec_prefix)' \
87 infodir='$(infodir)' libdir='$(libdir)' prefix='$(prefix)'
89 .SUFFIXES: .texi .info
91 $(MAKEINFO) $(MAKEINFOFLAGS) $<
95 $(TEXI2DVI) $(TEXI2DVIFLAGS) $<
100 ### targets required by GNU Coding standards ###
102 Makefile: Makefile.in config.status
103 $(SHELL) ./config.status
105 config.status: configure
106 $(SHELL) ./config.status --recheck
108 configure: configure.in
109 cd $(srcdir) && $(AUTOCONF)
112 cd $(srcdir)/src && $(ETAGS) *.el
114 .PHONY: clean mostlyclean distclean
121 $(RM) Makefile config.status config.log config.cache src/TAGS src/*~ *~
123 .PHONY: maintainer-clean maintclean-warning
124 maintainer-clean: maintclean-warning distclean
126 # Used by maintainer-clean to print a warning before any rm commands are run.
128 @echo "This command is intended for maintainers to use;"
129 @echo "it deletes files that may require special tools to rebuild."
136 echo zenirc-`sed -e '/^(defconst zenirc-version/!d' \
137 -e 's/[^0-9.]*\([0-9.]*\).*/\1/' \
138 -e q src/zenirc.el` > .fname
139 $(RM) -r `cat .fname`
140 dst=`cat .fname`; umask 000 && mkdir $$dst $$dst/doc $$dst/src
141 dst=`cat .fname`; for f in $(DISTFILES); do \
143 || { echo copying $$f; cp -p $$f $$dst/$$f ; } \
145 dst=`cat .fname`/doc; for f in $(DOCFILES); do \
146 ln doc/$$f $$dst/$$f \
147 || { echo copying doc/$$f; cp -p doc/$$f $$dst/$$f ; } \
149 dst=`cat .fname`/src; for f in $(SRCFILES); do \
150 ln src/$$f $$dst/$$f \
151 || { echo copying src/$$f; cp -p src/$$f $$dst/$$f ; } \
153 $(TAR) --gzip -chvf `cat .fname`.tar.gz `cat .fname`
154 $(RM) -r `cat .fname` .fname
156 # Tar up the development sources
159 echo zenirc-dev-`sed -e '/^(defconst zenirc-version/!d' \
160 -e 's/[^0-9.]*\([0-9.]*\).*/\1/' \
161 -e q src/zenirc.el` > .fname
162 $(RM) -r ../`cat .fname`
163 umask 000 && mkdir ../`cat .fname`
164 @echo Copying tree to ../`cat .fname`
165 $(TAR) -cf - . | (cd ../`cat .fname` && $(TAR) xpvf -)
166 @echo Making tar file `cat .fname`
167 dst=`cat .fname`; cd .. && $(TAR) --gzip -chvf $$dst.tar.gz $$dst
168 dst=`cat .fname`; cd .. && $(RM) -r $$dst
169 mv ../`cat .fname`.tar.gz .
171 .PHONY: installdirs uninstall
172 install: all installdirs
173 -cd ./src && $(CP) *.elc $(elispdir)
174 # -cd ./doc && $(CP) zenirc.info* $(infodir)
177 -$(SHELL) $(srcdir)/mkinstalldirs $(elispdir) #$(infodir)
180 -cd $(elispdir) && { $(RM) $(ELFILES);
181 for f in $(ELFILES); do $(RM) $${f}c; done; }
182 -cd $(infodir) && $(RM) zenirc.info*
184 .PHONY: check installcheck force
186 @echo 'Nothing to be done for "check"'
189 @echo 'Nothing to be done for "installcheck"'
193 ### program-specific building targets ###
195 all-zenirc: elisp #info
197 -cd ./src && $(EMACS) $(BATCHFLAGS) -l zenirc-make.el \
198 -f batch-byte-compile $(ELFILES)
201 zenirc.info: zenirc.texi
204 zenirc.dvi: zenirc.texi
206 # Prevent GNU make v3 from overflowing arg limit on SysV.
209 # Makefile.in ends here