# ==================== 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 ==============================
# 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