JimB's changes since January 18th
[bpt/emacs.git] / src / Makefile.in
dissimilarity index 71%
index dfc51a0..5e19aa0 100644 (file)
@@ -1,44 +1,80 @@
-MAKE = make
-# BSD doesn't have it as a default.
-
-CC = gcc
-CPP = $(CC) -E
-#Note: an alternative is  CPP = /lib/cpp
-
-# Just to avoid uncertainty.
-SHELL = /bin/sh
-
-all: xmakefile doall
-
-doall:
-       $(MAKE) $(MAKEOVERRIDES) -f xmakefile ${MFLAGS} all
-
-#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 xmakefile core \#* *.o
-
-xemacs: xmakefile doxemacs
-
-doxemacs:
-       $(MAKE) $(MAKEOVERRIDES) -f xmakefile ${MFLAGS} xemacs
-
-temacs: xmakefile dotemacs
-
-dotemacs:
-       $(MAKE) $(MAKEOVERRIDES) -f xmakefile ${MFLAGS} temacs
-
-# If you have a problem with cc -E here, changing
-# the definition of CPP above may fix it.
-xmakefile: ymakefile config.h
-       -rm -f xmakefile junk.c
-       cp ymakefile junk.c
-       $(CPP) junk.c | sed -e 's/^#.*//' -e 's/^[ \f\t][ \f\t]*$$//' -e 's/^ / /' | \
-       sed -n -e '/^..*$$/p' > xmakefile
-       rm -f junk.c
-
-tags TAGS:
-       etags [a-z]*.h [a-z]*.c ../lisp/[a-z]*.el ../lisp/term/[a-z]*.el
+# 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 = make
+# BSD doesn't have it as a default.
+
+# ==================== Things `configure' might edit ====================
+
+CC=cc
+CONFIG_CFLAGS=-g
+srcdir=.
+
+# ============================= Targets ==============================
+
+CPP = $(CC) -E -Is -Im
+#Note: an alternative is  CPP = /lib/cpp
+
+# Just to avoid uncertainty.
+SHELL = /bin/sh
+
+CFLAGS=${CONFIG_CFLAGS}
+
+all: doall
+
+doall: xmakefile
+       $(MAKE) CC='${CC}' -f xmakefile ${MFLAGS} all
+
+#This is used in making a distribution.
+#Do not use it on development directories!
+distclean:
+       -rm -f paths.h config.h emacs-* temacs emacs xmakefile core *.o
+
+clean:
+       -rm -f temacs emacs prefix-args xmakefile* core \#* *.o
+
+extraclean: distclean
+       -rm -f *~ \#* m/*~ s/*~
+
+emacs: doemacs
+
+doemacs: xmakefile
+       $(MAKE) CC='${CC}' -f xmakefile ${MFLAGS} emacs
+
+temacs: dotemacs
+
+dotemacs: xmakefile
+       $(MAKE) CC='${CC}' -f xmakefile ${MFLAGS} temacs
+
+### 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.
+xmakefile: ymakefile config.h
+       -rm -f xmakefile xmakefile.new junk.c junk.cpp
+       cp ymakefile junk.c
+       $(CPP) junk.c > junk.cpp \
+       -DC_SWITCH_SITE="`echo ${CFLAGS}' ' \
+                         | sed -e 's/-g /C_DEBUG_SWITCH /' \
+                               -e 's/-O /C_OPTIMIZE_SWITCH /`"
+       < junk.cpp                                      \
+       sed     -e 's/^#.*//'                           \
+               -e 's/^[ \f\t][ \f\t]*$$//'             \
+               -e 's/^ /       /'                      \
+       | sed -n -e '/^..*$$/p'                         \
+       > xmakefile.new
+       mv -f xmakefile.new xmakefile
+       chmod 444 xmakefile
+       rm -f junk.c junk.cpp
+
+tagsfiles = [a-z]*.h [a-z]*.c ../lisp/[a-z]*.el ../lisp/term/[a-z]*.el \
+           ../external-lisp/*.el
+TAGS: $(tagsfiles)
+       etags $(tagsfiles)
+tags: TAGS
+.PHONY: tags