SHELL = @SHELL@
-# This may not work with certain non-GNU make's. It only matters when
-# inheriting a CDPATH not starting with the current directory.
+# This only matters when inheriting a CDPATH not starting with the
+# current directory.
CDPATH=
# If Make doesn't predefine MAKE, set it here.
COPYDIR = ${srcdir}/etc ${srcdir}/lisp
COPYDESTS = "$(DESTDIR)${etcdir}" "$(DESTDIR)${lispdir}"
-all: ${SUBDIR}
+all: ${SUBDIR} info
-.PHONY: all ${SUBDIR} blessmail epaths-force epaths-force-w32 FRC
+.PHONY: all ${SUBDIR} blessmail epaths-force epaths-force-w32
removenullpaths=sed -e 's/^:*//' -e 's/:*$$//g' -e 's/::*/:/g'
# See comments in configure.ac for why it is done this way, as opposed
# to just letting configure generate epaths.h from epaths.in in a
# similar way to how Makefile is made from Makefile.in.
-epaths-force: FRC
+epaths-force:
@(standardlisppath=`echo "${standardlisppath}" | ${removenullpaths}` ; \
locallisppath=`echo "${locallisppath}" | ${removenullpaths}` ; \
buildlisppath=`echo "${buildlisppath}" | ${removenullpaths}` ; \
# MS-Windows format (e.g. 'c:/foo/bar'), because temacs is a MinGW
# program that doesn't support MSYS-style paths (e.g. '/c/foo/bar' or
# '/foo/bar').
-epaths-force-w32: FRC
+epaths-force-w32:
@(w32srcdir=`${srcdir}/build-aux/msys-to-w32 "${srcdir}"`; \
w32prefix=`${srcdir}/build-aux/msys-to-w32 "${prefix}" N`; \
w32prefixpattern=`echo "$${w32prefix}" | ${msys_sed_sh_escape}` ; \
lisp: src
# These targets should be "${SUBDIR} without `src'".
-lib lib-src lisp nt: Makefile FRC
+lib lib-src lisp nt: Makefile
cd $@ && $(MAKE) all $(MFLAGS) \
CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \
LDFLAGS='${LDFLAGS}' MAKE='${MAKE}'
# This passes an unexpanded $srcdir to src's Makefile, which then
# expands it using its own value of srcdir (which points to the
# source directory of src/).
-src: Makefile FRC
+src: Makefile
dirstate='.bzr/checkout/dirstate'; \
vcswitness='$$(srcdir)/../'$$dirstate; \
[ -r "$(srcdir)/$$dirstate" ] || vcswitness=''; \
LDFLAGS='${LDFLAGS}' MAKE='${MAKE}' BOOTSTRAPEMACS="$$boot" \
VCSWITNESS="$$vcswitness"
-blessmail: Makefile src FRC
+blessmail: Makefile src
cd lib-src && $(MAKE) maybe-blessmail $(MFLAGS) \
MAKE='${MAKE}' archlibdir='$(archlibdir)'
$(MAKE) install $(MFLAGS) prefix="${prefix}" \
exec_prefix="${exec_prefix}" bindir="${bindir}" \
libexecdir="${libexecdir}" archlibdir="${archlibdir}" \
+ datadir="${datadir}" \
INSTALL_STRIP=${INSTALL_STRIP}
## In the share directory, we are deleting:
${write_subdir}
subdir="$(DESTDIR)${datadir}/emacs/site-lisp" ; \
${write_subdir} || true
- [ -z "${GZIP_PROG}" ] || \
- ( echo "Compressing *.el ..." ; \
- unset CDPATH; \
- thisdir=`/bin/pwd`; \
- for dir in "$(DESTDIR)${lispdir}"; do \
- cd "$${thisdir}" ; \
- cd "$${dir}" || exit 1 ; \
- for f in `find . -name "*.elc" -print`; do \
- f_el=`echo "$$f" | sed 's/.elc$$/.el/'`; \
- ${GZIP_PROG} -9n "$$f_el" ; \
- done ; \
- done )
+ [ -z "${GZIP_PROG}" ] || { \
+ echo "Compressing *.el ..." && \
+ cd "$(DESTDIR)${lispdir}" && \
+ find . -name '*.elc' -exec $(SHELL) -c \
+ '${GZIP_PROG} -9n `expr "$$1" : "\\(.*\\)c"`' dummy '{}' ';'; \
+ }
-chmod -R a+r "$(DESTDIR)${datadir}/emacs/${version}" ${COPYDESTS}
## The above chmods are needed because "umask 022; tar ..." is not
bindir="${bindir}" libexecdir="${libexecdir}" \
archlibdir="${archlibdir}"
-FRC:
-
# ==================== Cleaning up and miscellanea ====================
.PHONY: mostlyclean clean distclean bootstrap-clean maintainer-clean extraclean
### 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 lwlib && $(MAKE) $(MFLAGS) mostlyclean
### with them.
###
### Delete `.dvi' files here if they are not part of the distribution.
-clean: FRC
+clean:
-rm -f etc/emacs.tmpdesktop
cd src && $(MAKE) $(MFLAGS) clean
cd oldXMenu && $(MAKE) $(MFLAGS) clean
top_distclean=\
${top_bootclean}; \
rm -f config.status config.log~ Makefile stamp-h1 ${SUBDIR_MAKEFILES}
-distclean: FRC
+distclean:
cd src && $(MAKE) $(MFLAGS) distclean
cd oldXMenu && $(MAKE) $(MFLAGS) distclean
cd lwlib && $(MAKE) $(MFLAGS) distclean
### `bootstrap-clean'
### Delete everything that can be reconstructed by `make' and that
### needs to be deleted in order to force a bootstrap from a clean state.
-bootstrap-clean: FRC
+bootstrap-clean:
cd src && $(MAKE) $(MFLAGS) bootstrap-clean
cd oldXMenu && $(MAKE) $(MFLAGS) maintainer-clean
cd lwlib && $(MAKE) $(MFLAGS) maintainer-clean
top_maintainer_clean=\
${top_distclean}; \
rm -fr autom4te.cache
-maintainer-clean: bootstrap-clean FRC
+maintainer-clean: bootstrap-clean
cd src && $(MAKE) $(MFLAGS) maintainer-clean
cd leim && $(MAKE) $(MFLAGS) maintainer-clean
cd lisp && $(MAKE) $(MFLAGS) maintainer-clean
t=$@; IFS=-; set $$t; IFS=; cd doc/$$1 && $(MAKE) $(MFLAGS) $$2
.PHONY: $(DOCS) docs pdf ps
-.PHONY: info dvi dist check html info-real info-dir force-info check-info
+.PHONY: info dvi dist check html info-real info-dir check-info
## TODO add etc/refcards.
docs: $(DOCS)
uninstall-ps: $(UNINSTALL_PS)
-force-info:
# Note that man/Makefile knows how to put the info files in $(srcdir),
# so we can do ok running make in the build dir.
# This used to have a clause that exited with an error if MAKEINFO = no.
# would require changing every rule in doc/ that builds an info file,
# and it's not worth it. This case is only relevant if you download a
# release, then change the .texi files.
-info: force-info
+info:
@if test "$(HAVE_MAKEINFO)" = "no"; then \
echo "Configured --without-makeinfo, not building manuals" ; \
else \
# * Run autogen.sh.
# * Rebuild Makefile, to update the build procedure itself.
# * Do the actual build.
-bootstrap: bootstrap-clean FRC
+bootstrap: bootstrap-clean
cd $(srcdir) && ./autogen.sh
$(MAKE) $(MFLAGS) MAKEFILE_NAME=force-Makefile force-Makefile
- $(MAKE) $(MFLAGS) info all
+ $(MAKE) $(MFLAGS) all
.PHONY: check-declare