Mercurial > emacs
view Makefile.in @ 1123:55e605674fb1
* window.c (minibuffer_window): Accept an optional FRAME argument;
if specified, return the minibuffer used by that frame.
* window.c (Fset_window_configuration): Don't signal an error
if the frame size saved in the window configuration doesn't
match the frame's current size; instead, temporarily resize
the frame while installing the window configuration. This is
important because using the minibuffer saves and restores the
current window configuration, and you don't want to signal an
error just because the user resized the frame while using the
minibuffer.
author | Jim Blandy <jimb@redhat.com> |
---|---|
date | Sun, 13 Sep 1992 12:38:21 +0000 |
parents | 95f094fdd81e |
children | bd3afc204773 |
line wrap: on
line source
# DIST: This is the distribution Makefile for Emacs. configure can # DIST: make most of the changes to this file you might want, so try # DIST: that first. # make all to compile and build Emacs. # make install to install it. # make install.sysv to install on system V. Note that on system V you # must change mandir to /usr/local/man/man1. # make install.xenix to install on Xenix. # make install.aix to install on AIX. # make tags to update tags tables. # # make distclean to delete everything that wasn't in the distribution. # This is a very dangerous thing to do! It removes backup files, # among other things. # make clean # This is a little less dangerous. # make dist # This produces a tar file from the current source tree suitable # for redistribution. SHELL = /bin/sh # ==================== Where To Install Things ==================== # The default location for installation. Everything is placed in # subdirectories of this directory. This directory must exist when # you start installation. The default values for many of the # variables below are expressed in terms of this one, so you may not # need to change them. prefix=/usr/local # Where to install Emacs and other binaries that people will want to # run directly (like etags). bindir=${prefix}/bin # A directory under which we will install many of Emacs's files. The # default values for many of the variables below are expressed in # terms of this one, so you may not need to change them. emacsdir=${prefix}/emacs-19.0 # Where to install and expect the architecture-independent data files # (like the tutorial and the Zippy database). datadir=${emacsdir}/etc # Where to install the elisp files distributed with Emacs. Strictly # speaking, all the elisp files should go under datadir (above), since # both elisp source and compiled elisp are completely portable, but # it's traditional to give the lisp files their own subdirectory. lispdir=${emacsdir}/lisp # Directories Emacs should search for elisp files specific to this # site (i.e. customizations), before consulting ${lispdir}. This # should be a colon-separated list of directories. locallisppath=${emacsdir}/local-lisp # Where Emacs will search to find its elisp files. Before changing # this, check to see if your purpose wouldn't better be served by # changing locallisppath. This should be a colon-separated list of # directories. lisppath=${locallisppath}:${lispdir} # Where Emacs will search for its elisp files while building. This is # only used during the process of compiling Emacs, to help Emacs find # its lisp files before they've been installed in their final # location. It's usually identical to lisppath, except that the entry # for the directory containing the installed lisp files has been # replaced with ../lisp. This should be a colon-separated list of # directories. buildlisppath=../lisp # Where to install and expect the files that Emacs modifies as it # runs. These files are all architecture-independent. Right now, # the only such data is the locking directory. statedir=${emacsdir} # Where to create and expect the locking directory, where the Emacs # locking code keeps track of which files are currently being edited. lockdir=${statedir}/lock # Where to install and expect executable files to be run by Emacs # rather than directly by users, and other architecture-dependent # data. libdir=${emacsdir}/arch-lib # Where to install Emacs's man pages. mandir=/usr/man/man1 # Where to install and expect the info files describing Emacs. In the # past, this defaulted to a subdirectory of ${prefix}/lib/emacs, but # since there are now many packages documented with the texinfo # system, it is inappropriate to imply that it is part of Emacs. infodir=${prefix}/info # ==================== Utility Programs for the Build ==================== # Allow the user to specify the install program. INSTALL = install INSTALLFLAGS = -c INSTALL_PROGRAM = ${INSTALL} INSTALL_DATA = ${INSTALL} # ============================= Targets ============================== # Flags passed down to subdirectory makefiles. MFLAGS = # Subdirectories to make recursively. `lisp' is not included # because the compiled lisp files are part of the distribution # and you cannot remake them without installing Emacs first. SUBDIR = lib-src src # Subdirectories to install, and where they'll go. COPYDIR = arch-lib etc info lisp COPYDESTS = ${libdir} ${datadir} ${infodir} ${lispdir} all: src/paths.h ${SUBDIR} removenullpaths=sed -e 's/^://' -e 's/:$$//' -e 's/::/:/' # Note that sed is not in /bin on 386bsd. src/paths.h: Makefile src/paths.h.in lisppath=`echo ${lisppath} | ${removenullpaths}` ; \ buildlisppath=`echo ${buildlisppath} | ${removenullpaths}` ; \ sed < src/paths.h.in > src/paths.h.tmp \ -e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "'$${lisppath}'";' \ -e 's;\(#.*PATH_DUMPLOADSEARCH\).*$$;\1 "'$${buildlisppath}'";' \ -e 's;\(#.*PATH_EXEC\).*$$;\1 "${libdir}";' \ -e 's;\(#.*PATH_DATA\).*$$;\1 "${datadir}";' \ -e 's;\(#.*PATH_LOCK\).*$$;\1 "${lockdir}/";' ./move-if-change src/paths.h.tmp src/paths.h src: lib-src .RECURSIVE: ${SUBDIR} ${SUBDIR}: FRC cd $@; make ${MFLAGS} all install: all mkdir lockdir -set ${COPYDESTS} ; \ for dir in ${COPYDIR} ; do \ dest=$$1 ; shift ; \ if [ `/bin/pwd`/$${dir} != `(cd $${dest}; /bin/pwd)` ] ; then \ (cd $${dir}; tar cf - . ) | (cd $${dest}; umask 0; tar xf - ) ; \ for subdir in `find $${dest} -type d ! -name RCS -print` ; do \ rm -rf $${subdir}/RCS ; \ rm -f $${subdir}/\#* ; \ rm -f $${subdir}/*~ ; \ done ; \ fi ; \ done ${INSTALL_PROGRAM} ${INSTALLFLAGS} -c arch-lib/emacsclient ${bindir}/emacsclient ${INSTALL_PROGRAM} ${INSTALLFLAGS} -c arch-lib/etags ${bindir}/etags ${INSTALL_PROGRAM} ${INSTALLFLAGS} -c arch-lib/ctags ${bindir}/ctags ${INSTALL_PROGRAM} ${INSTALLFLAGS} -c -m 1755 src/xemacs ${bindir}/xemacs ${INSTALL_DATA} ${INSTALLFLAGS} -c -m 444 etc/emacs.1 ${mandir}/emacs.1 -rm -f ${bindir}/emacs mv ${bindir}/xemacs ${bindir}/emacs install.sysv: all mkdir lockdir -set ${COPYDESTS} ; \ for dir in ${COPYDIR} ; do \ dest=$$1 ; shift ; \ if [ `/bin/pwd`/$${dir} != `(cd $${dest}; /bin/pwd)` ] ; then \ (cd $${dir}; find . -print | cpio -pdum ${dest} ) ; \ for subdir in `find $${dest} -type d ! -name RCS -print` ; do \ rm -rf $${subdir}/RCS ; \ rm -f $${subdir}/\#* ; \ rm -f $${subdir}/*~ ; \ done ; \ fi ; \ done -cpset arch-lib/emacsclient ${bindir}/emacsclient 755 bin bin -cpset arch-lib/etags ${bindir}/etags 755 bin bin -cpset arch-lib/ctags ${bindir}/ctags 755 bin bin -cpset etc/emacs.1 ${mandir}/emacs.1 444 bin bin -/bin/rm -f ${bindir}/emacs -cpset src/xemacs ${bindir}/emacs 1755 bin bin install.xenix: all mkdir lockdir -set ${COPYDESTS} ; \ for dir in ${COPYDIR} ; do \ dest=$$1 ; shift ; \ if [ `/bin/pwd`/$${dir} != `(cd $${dest}; /bin/pwd)` ] ; then \ (cd $${dir}; tar cf - . ) | (cd $${dest}; umask 0; tar xpf - ) ; \ for subdir in `find $${dest} -type d ! -name RCS -print` ; do \ rm -rf $${subdir}/RCS ; \ rm -f $${subdir}/\#* ; \ rm -f $${subdir}/*~ ; \ done ; \ fi ; \ done cp arch-lib/etags arch-lib/ctags arch-lib/emacsclient ${bindir} chmod 755 ${bindir}/etags ${bindir}/ctags ${bindir}/emacsclient cp etc/emacs.1 ${mandir}/emacs.1 chmod 444 ${mandir}/emacs.1 -mv -f ${bindir}/emacs ${bindir}/emacs.old cp src/xemacs ${bindir}/emacs chmod 1755 ${bindir}/emacs -rm -f ${bindir}/emacs.old install.aix: all mkdir lockdir -set ${COPYDESTS} ; \ for dir in ${COPYDIR} ; do \ dest=$$1 ; shift ; \ if [ `/bin/pwd`/$${dir} != `(cd $${dest}; /bin/pwd)` ] ; then \ (cd $${dir}; tar cf - . ) | (cd $${dest}; umask 0; tar xBf - ) ; \ for subdir in `find $${dest} -type d ! -name RCS -print` ; do \ rm -rf $${subdir}/RCS ; \ rm -f $${subdir}/\#* ; \ rm -f $${subdir}/*~ ; \ done ; \ fi ; \ done ${INSTALL_PROGRAM} ${INSTALLFLAGS} -f ${bindir} etc/emacsclient ${INSTALL_PROGRAM} ${INSTALLFLAGS} -f ${bindir} etc/etags ${INSTALL_PROGRAM} ${INSTALLFLAGS} -f ${bindir} etc/ctags ${INSTALL_PROGRAM} ${INSTALLFLAGS} -M 1755 -f ${bindir} src/xemacs ${INSTALL_DATA} ${INSTALLFLAGS} -M 444 -f ${mandir} etc/emacs.1 -rm -f ${bindir}/emacs mv ${bindir}/xemacs ${bindir}/emacs # Build all the directories mkdir: FRC # If any of the directories are below ${emacsdir}, create it. -for dir in ${COPYDESTS}; do \ case "$${dir}" in \ ${emacsdir}/* ) \ if [ ! -d ${emacsdir} ]; then \ mkdir ${emacsdir} ; \ chmod 777 ${emacsdir} ; \ fi ; \ break\ ;; \ esac ; \ done -mkdir ${COPYDESTS} -chmod 777 ${COPYDESTS} lockdir: # If the lockdir needs ${emacsdir}, create it. -case "${lockdir}" in \ ${statedir}/* ) \ if [ ! -d ${emacsdir} ]; then \ mkdir ${emacsdir} ; \ chmod 777 ${emacsdir} ; \ fi \ ;; \ esac -mkdir ${LOCKDIR} -chmod 777 ${LOCKDIR} FRC: clean mostlyclean: cd src; make clean if [ `/bin/pwd` != `(cd ${emacsdir}; /bin/pwd)` ] ; then \ (cd etc; make clean); \ (cd lib-src; make clean); \ else true; \ fi cd oldXMenu; make clean distclean: for i in ${SUBDIR}; do (cd $$i; make ${MFLAGS} distclean); done -(cd lock; rm *) -rm config.status config-tmp-* -rm #*# *~ realclean: for i in ${SUBDIR}; do (cd $$i; make ${MFLAGS} realclean); done (cd lock; rm *) rm config.status TAGS tags: lib-src cd src; ../arch-lib/etags *.[ch] ../lisp/*.el ../lisp/term/*.el check: @echo "We don't have any tests for GNU Emacs yet." dist: make-dist