view src/=Makefile.in @ 2506:aba562e560f0

Adjust for autoconf merger. * config.h.in: Add extra line to top, in case autoconf gets fixed and decides not to add Makefile-style comments to the top of the files it generates which we are forced to lop off. Indicate that the boolean macros here get their definitions via the DEFS Makefile variable. Adjust the operating system and machine #includes to use autoload's @cookies@. (RETSIGTYPE): Give this a default value. (SIGTYPE): Set this from RETSIGTYPE. (LD_SWITCH_X_SITE, C_SWITCH_X_SITE): Get values via @cookies@. * Makefile.in (DEFS): Renamed from CONFIG_CFLAGS. (xmakefile): Pass CFLAGS to ${CPP}. * Makefile.in (tagsfiles): Remove external-lisp from this list of files; we're not distributing it, so the normal build process shouldn't depend on it.
author Jim Blandy <jimb@redhat.com>
date Sat, 10 Apr 1993 07:53:50 +0000
parents 9de581d9bb83
children f006be4acbed
line wrap: on
line source

# 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
DEFS=-g
srcdir=.

# ============================= Targets ==============================

CPP = $(CC) -E -Is -Im
#Note: an alternative is  CPP = /lib/cpp

# Just to avoid uncertainty.
SHELL = /bin/sh

CFLAGS=${DEFS}

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} ${CFLAGS} 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
TAGS: $(tagsfiles)
	etags $(tagsfiles)
tags: TAGS
.PHONY: tags