* doc.c (Fsubstitute_command_keys): Pass all five arguments to
[bpt/emacs.git] / src / Makefile.in
index 606e063..4092005 100644 (file)
@@ -8,8 +8,11 @@ MAKE = make
 # ==================== Things `configure' might edit ====================
 
 CC=cc
-CONFIG_CFLAGS=-g
-srcdir=.
+CPP=cc -E
+CFLAGS=-g
+srcdir=@srcdir@/src
+VPATH=@srcdir@/src
+LN_S=ln -s
 
 # ============================= Targets ==============================
 
@@ -19,56 +22,78 @@ CPP = $(CC) -E -Is -Im
 # Just to avoid uncertainty.
 SHELL = /bin/sh
 
-CFLAGS=${CONFIG_CFLAGS}
+SUBMAKEFLAGS = CC='${CC}' LN_S='${LN_S}' CFLAGS='${CFLAGS}' MAKE='${MAKE}'
 
 all: doall
 
 doall: xmakefile
-       $(MAKE) CC='${CC}' -f xmakefile ${MFLAGS} all
+       $(MAKE) ${SUBMAKEFLAGS} -f xmakefile ${MFLAGS} all
 
+mostlyclean:
+       rm -f temacs emacs prefix-args xmakefile* core \#* *.o libXMenu11.a
+       rm -f ../etc/DOC
+clean: mostlyclean
+       true
 #This is used in making a distribution.
 #Do not use it on development directories!
-distclean:
-       -rm -f paths.h config.h emacs-* temacs xemacs xmakefile core *.o
-
-clean:
-       -rm -f temacs xemacs prefix-args xmakefile* core \#* *.o
-
+distclean: clean
+       rm -f paths.h config.h emacs-* ../etc/DOC-*
+realclean: distclean
+       rm -f TAGS
+versionclean:
+       -rm -f emacs emacs-* ../etc/DOC*
 extraclean: distclean
        -rm -f *~ \#* m/*~ s/*~
 
-xemacs: doxemacs
+emacs: doemacs
+       @true
 
-doxemacs: xmakefile
-       $(MAKE) CC='${CC}' -f xmakefile ${MFLAGS} xemacs
+doemacs: xmakefile
+       $(MAKE) ${SUBMAKEFLAGS} -f xmakefile ${MFLAGS} emacs
 
 temacs: dotemacs
+       @true
 
 dotemacs: xmakefile
-       $(MAKE) CC='${CC}' -f xmakefile ${MFLAGS} temacs
+       $(MAKE) ${SUBMAKEFLAGS} -f xmakefile ${MFLAGS} temacs
+
+SOURCES = *.[ch] [sm]/* COPYING Makefile.in ymakefile \
+       config.h.in README COPYING ChangeLog vms.pp-trans
+unlock:
+       chmod u+w $(SOURCES)
+
+relock:
+       chmod -w $(SOURCES)
+       chmod +w paths.h
+
+### Some makes, like Ultrix's make, complain if you put a comment in
+### the middle of a rule's command list!  Dummies.
+
+### The flags for optimization and debugging depend on the
+### system, so take an ordinary CFLAGS value and choose the
+### appropriate CPP symbols to use in ymakefile.
+### If you have a problem with cc -E here, changing
+### the definition of CPP above may fix it.
 
-# If you have a problem with cc -E here, changing
-# the definition of CPP above may fix it.
-xmakefile: ymakefile config.h
+# Remake xmakefile whenever we reconfigure even if config.h didn't change.
+xmakefile: ymakefile config.h ../config.status
        -rm -f xmakefile xmakefile.new junk.c junk.cpp
-       cp ymakefile junk.c
-       ## The flags for optimization and debugging depend on the
-       ## system, so take an ordinary CFLAGS value and choose the
-       ## appropriate CPP symbols to use in ymakefile.
-       $(CPP) junk.c > junk.cpp \
-       -DC_SWITCH_SITE="`echo ${CFLAGS}' ' \
-                         | sed -e 's/-g /C_DEBUG_SWITCH /' \
-                               -e 's/-O /C_OPTIMIZE_SWITCH /`"
+       cp ${srcdir}/ymakefile junk.c
+       ${CPP} -I${srcdir} ${CFLAGS} junk.c > junk.cpp
        < junk.cpp                                      \
        sed     -e 's/^#.*//'                           \
                -e 's/^[ \f\t][ \f\t]*$$//'             \
                -e 's/^ /       /'                      \
+               -e 's|^\(srcdir *=\).*$$|\1'"${srcdir}"'|'      \
+               -e 's|^\(VPATH *=\).*$$|\1'"${srcdir}"'|'       \
        | sed -n -e '/^..*$$/p'                         \
        > xmakefile.new
        mv -f xmakefile.new xmakefile
        chmod 444 xmakefile
        rm -f junk.c junk.cpp
 
-tags TAGS:
-       etags [a-z]*.h [a-z]*.c ../lisp/[a-z]*.el ../lisp/term/[a-z]*.el \
-             ../external-lisp/*.el
+tagsfiles = [a-z]*.h [a-z]*.c ../lisp/[a-z]*.el ../lisp/term/[a-z]*.el
+TAGS: $(tagsfiles)
+       etags $(tagsfiles)
+tags: TAGS
+.PHONY: tags