* keyboard.c (Qscrollbar_movement, Qvertical_scrollbar,
[bpt/emacs.git] / src / Makefile.in
1 # DIST: This is the distribution Makefile for Emacs. configure can
2 # DIST: make most of the changes to this file you might want, so try
3 # DIST: that first.
4
5 MAKE = make
6 # BSD doesn't have it as a default.
7
8 # ==================== Things `configure' might edit ====================
9
10 CC=cc
11 CONFIG_CFLAGS=-g
12 srcdir=.
13
14 # ============================= Targets ==============================
15
16 CPP = $(CC) -E -Is -Im
17 #Note: an alternative is CPP = /lib/cpp
18
19 # Just to avoid uncertainty.
20 SHELL = /bin/sh
21
22 CFLAGS=${CONFIG_CFLAGS}
23
24 all: doall
25
26 doall: xmakefile
27 $(MAKE) CC='${CC}' -f xmakefile ${MFLAGS} all
28
29 #This is used in making a distribution.
30 #Do not use it on development directories!
31 distclean:
32 -rm -f paths.h config.h emacs-* temacs emacs xmakefile core *.o
33
34 clean:
35 -rm -f temacs emacs prefix-args xmakefile* core \#* *.o
36
37 extraclean: distclean
38 -rm -f *~ \#* m/*~ s/*~
39
40 emacs: doemacs
41
42 doemacs: xmakefile
43 $(MAKE) CC='${CC}' -f xmakefile ${MFLAGS} emacs
44
45 temacs: dotemacs
46
47 dotemacs: xmakefile
48 $(MAKE) CC='${CC}' -f xmakefile ${MFLAGS} temacs
49
50 # If you have a problem with cc -E here, changing
51 # the definition of CPP above may fix it.
52 xmakefile: ymakefile config.h
53 -rm -f xmakefile xmakefile.new junk.c junk.cpp
54 cp ymakefile junk.c
55 ## The flags for optimization and debugging depend on the
56 ## system, so take an ordinary CFLAGS value and choose the
57 ## appropriate CPP symbols to use in ymakefile.
58 $(CPP) junk.c > junk.cpp \
59 -DC_SWITCH_SITE="`echo ${CFLAGS}' ' \
60 | sed -e 's/-g /C_DEBUG_SWITCH /' \
61 -e 's/-O /C_OPTIMIZE_SWITCH /`"
62 < junk.cpp \
63 sed -e 's/^#.*//' \
64 -e 's/^[ \f\t][ \f\t]*$$//' \
65 -e 's/^ / /' \
66 | sed -n -e '/^..*$$/p' \
67 > xmakefile.new
68 mv -f xmakefile.new xmakefile
69 chmod 444 xmakefile
70 rm -f junk.c junk.cpp
71
72 tagsfiles = [a-z]*.h [a-z]*.c ../lisp/[a-z]*.el ../lisp/term/[a-z]*.el \
73 ../external-lisp/*.el
74 TAGS: $(tagsfiles)
75 etags $(tagsfiles)
76 tags: TAGS
77 .PHONY: tags