From 043795a54987dea0d7d1814f6b985f4107fa496d Mon Sep 17 00:00:00 2001 From: Jim Blandy Date: Wed, 16 Jun 1993 23:46:17 +0000 Subject: [PATCH] * Makefile.in (CPP): New variable. (src/Makefile): Edit CPP into src/Makefile. Bring mumbleclean targets into conformance with GNU coding standards. * Makefile.in (mostlyclean, clean): Separate these two; just have them pass the request to the subdirectory makefiles. (distclean): Pass the request down, and then get rid of the files configure built, and get rid of the Makefiles. (realclean): Pass the request down, and then do the same things distclean does. (uninstall, info, dvi): New targets. --- Makefile.in | 120 +++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 86 insertions(+), 34 deletions(-) diff --git a/Makefile.in b/Makefile.in index 1fc107853a6..0dcc2fe04d8 100644 --- a/Makefile.in +++ b/Makefile.in @@ -37,6 +37,7 @@ MAKE = make # BSD doesn't have it as a default. # ==================== Things `configure' Might Edit ==================== CC=@CC@ +CPP=@CPP@ C_SWITCH_SYSTEM=@c_switch_system@ ALLOCA=@ALLOCA@ LN_S=@LN_S@ @@ -278,6 +279,7 @@ src/Makefile: ${srcdir}/src/Makefile.in Makefile -e 's|^\(srcdir *=\).*$$|\1'"${srcdir}"'/src|' \ -e 's|^\(VPATH *=\).*$$|\1'"${srcdir}"'/src|' \ -e 's|^CC *=.*$$|CC='"${CC}"'|' \ + -e 's|^CPP *=.*$$|CPP='"${CPP}"'|' \ -e 's|^LN_S *=.*$$|LN_S='"${LN_S}"'|' \ -e 's|^CFLAGS *=.*$$|CFLAGS='"${CFLAGS}"'|' \ -e 's|^\(LD_SWITCH_X_SITE *=\).*$$|\1'"${LD_SWITCH_X_SITE}"'|' \ @@ -383,52 +385,97 @@ mkdir: FRC.mkdir `echo ${locallisppath} | sed 's/:/ /'` chmod 777 ${COPYDESTS} ${lockdir} +### Delete all the installed files that the `install' target would +### create (but not the noninstalled files such as `make all' would +### create). +uninstall: + (cd lib-src; \ + $(MAKE) ${MFLAGS} uninstall + prefix=${prefix} exec_prefix=${exec_prefix} + bindir=${bindir} libdir=${libdir} archlibdir=${archlibdir}) + rm -f ${lispdir} ${etcdir} + case ${lispdir} in \ + ${datadir}/emacs/${version}/* ) \ + rm -rf ${datadir}/emacs/${version} \ + ;; \ + esac + case ${etcdir} in \ + ${datadir}/emacs/${version}/* ) \ + rm -rf ${datadir}/emacs/${version} \ + ;; \ + esac + (cd ${infodir}; rm -f cl* emacs* forms* info* vip*) + (cd ${mandir}; rm -f emacs.1 etags.1 ctags.1) + (cd ${bindir}; rm -f emacs-${version} emacs) + + ### Some makes seem to remember that they've built something called FRC, ### so you can only use a given FRC once per makefile. FRC FRC.src.paths.h FRC.src FRC.lib-src FRC.mkdir: - +FRC.mostlyclean FRC.clean FRC.distclean FRC.realclean: # ==================== Cleaning up and miscellanea ==================== -### `clean' -### Delete all files from the current directory that are normally -### created by building the program. Don't delete the files that -### record the configuration. Also preserve files that could be made -### by building, but normally aren't because the distribution comes -### with them. ### `mostlyclean' -### Like `clean', but may refrain from deleting a few files that -### people normally don't want to recompile. For example, the -### `mostlyclean' target for GCC does not delete `libgcc.a', because -### recompiling it is rarely necessary and takes a lot of time. +### Like `clean', but may refrain from deleting a few files that people +### normally don't want to recompile. For example, the `mostlyclean' +### target for GCC does not delete `libgcc.a', because recompiling it +### is rarely necessary and takes a lot of time. +mostlyclean: FRC.mostlyclean + (cd src; make ${MFLAGS} mostlyclean) + (cd oldXMenu; make ${MFLAGS} mostlyclean) + (cd lib-src; make ${MFLAGS} mostlyclean) + (cd man; make ${MFLAGS} mostlyclean) + +### `clean' +### Delete all files from the current directory that are normally +### created by building the program. Don't delete the files that +### record the configuration. Also preserve files that could be made +### by building, but normally aren't because the distribution comes +### with them. ### -clean mostlyclean: - cd src; $(MAKE) clean - cd lib-src; $(MAKE) clean - cd oldXMenu; $(MAKE) clean - if [ `(cd ${etcdir} && /bin/pwd)` != `(cd etc && /bin/pwd)` ] ; then \ - cd etc; $(MAKE) clean; \ - else true; \ - fi +### Delete `.dvi' files here if they are not part of the distribution. +clean: FRC.clean + (cd src; make ${MFLAGS} clean) + (cd oldXMenu; make ${MFLAGS} clean) + (cd lib-src; make ${MFLAGS} clean) + (cd man; make ${MFLAGS} clean) ### `distclean' -### Delete all files from the current directory that are created by -### configuring or building the program. This should leave only the -### files that would be in the distribution. -distclean: - for i in ${SUBDIR}; do (cd $$i; $(MAKE) ${MFLAGS} distclean); done - -(cd lock; rm *) - -rm config.status config-tmp-* +### Delete all files from the current directory that are created by +### configuring or building the program. If you have unpacked the +### source and built the program without creating any other files, +### `make distclean' should leave only the files that were in the +### distribution. +top_distclean=\ + rm -f config.status build-install ; \ + rm -f Makefile ${SUBDIR_MAKEFILES} ; \ + (cd lock ; rm *) +distclean: FRC.distclean + (cd src; make ${MFLAGS} distclean) + (cd oldXMenu; make ${MFLAGS} distclean) + (cd lib-src; make ${MFLAGS} distclean) + (cd man; make ${MFLAGS} distclean) + ${top_distclean} + ### `realclean' -### Delete everything from the current directory that can be -### reconstructed with this makefile. This typically includes -### everything deleted by distclean, plus more: C source files -### produced by Bison, tags tables, info files, and so on. -realclean: - for i in ${SUBDIR}; do (cd $$i; $(MAKE) ${MFLAGS} realclean); done - (cd lock; rm *) - rm config.status +### Delete everything from the current directory that can be +### reconstructed with this Makefile. This typically includes +### everything deleted by distclean, plus more: C source files +### produced by Bison, tags tables, info files, and so on. +### +### One exception, however: `make realclean' should not delete +### `configure' even if `configure' can be remade using a rule in the +### Makefile. More generally, `make realclean' should not delete +### anything that needs to exist in order to run `configure' and then +### begin to build the program. +realclean: FRC.realclean + (cd src; make ${MFLAGS} realclean) + (cd oldXMenu; make ${MFLAGS} realclean) + (cd lib-src; make ${MFLAGS} realclean) + (cd man; make ${MFLAGS} realclean) + ${top_distclean} ### This doesn't actually appear in the coding standards, but Karl ### says GCC supports it, and that's where the configuration part of @@ -484,3 +531,8 @@ check: dist: cd ${srcdir}; make-dist + +info: + (cd ${srcdir}/man; make ${MFLAGS} info) +dvi: + (cd ${srcdir}/man; make ${MFLAGS} dvi)