# 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 versionclean: -rm -f emacs emacs-* ../etc/DOC* extraclean: distclean -rm -f *~ \#* m/*~ s/*~ emacs: doemacs @true doemacs: xmakefile $(MAKE) CC='${CC}' -f xmakefile ${MFLAGS} emacs temacs: dotemacs @true dotemacs: xmakefile $(MAKE) CC='${CC}' -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. 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