entered into RCS
[bpt/emacs.git] / lib-src / Makefile.in
CommitLineData
f7dbcf3c
JB
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# add -DUSG for SysV movemail and timer
6# For Xenix, add the following for movemail:
7# LOADLIBES= -lx
8# For Mips, the following is needed for who knows what.
9# LOADLIBES = -lmld /usr/bsd43/usr/lib/libc.a
10
11# Avoid trouble on systems where the `SHELL' variable might be
12# inherited from the environment.
13SHELL = /bin/sh
14
15# Allow the user to specify the install program.
16INSTALL = install
17INSTALLFLAGS =
18
b7cceaf1 19# Things that a user might actually run, which should be installed in bindir.
f7dbcf3c
JB
20INSTALLABLES = etags ctags emacsclient b2m
21
b7cceaf1
JB
22# Things that Emacs runs internally, or during the build process,
23# which should not be installed in bindir.
f7dbcf3c 24UTILITIES= test-distrib wakeup make-docfile digest-doc sorted-doc \
b7cceaf1 25 movemail cvtmail fakemail yow env emacsserver hexl timer
f7dbcf3c 26
b7cceaf1
JB
27# Like UTILITIES, but they're not system-dependent, and should not be
28# deleted by the distclean target.
29SCRIPTS= rcs2log vcdiff
30
31EXECUTABLES= ${UTILITIES} ${INSTALLABLES} ${SCRIPTS}
f7dbcf3c
JB
32
33# These things are edited by ../configure; don't change anything before
34# or including the '='; everything after that gets blown away.
35CC=gcc
36CFLAGS= -g -O
37LOADLIBES=
38
39all: ../arch-lib
40
9e7cd922 41# We use rm -f so that rm won't try to ask questions during the build.
f7dbcf3c
JB
42../arch-lib: ${EXECUTABLES}
43 for file in ${EXECUTABLES} ; do \
44 if [ -f $${file} ]; then \
45 if [ -f ../arch-lib/$${file} ]; then \
9e7cd922 46 rm -f ../arch-lib/$${file} ; \
f7dbcf3c
JB
47 fi ; \
48 ln $${file} ../arch-lib ; \
49 fi ; \
50 done
51
52# We don't need to install `wakeup' explicitly, because it will be copied when
53# this whole directory is copied.
54install: all
55 ${INSTALL} ${INSTALLFLAGS} -c emacsclient ${BINDIR}/emacsclient
56 ${INSTALL} ${INSTALLFLAGS} -c etags ${BINDIR}/etags
57 ${INSTALL} ${INSTALLFLAGS} -c ctags ${BINDIR}/ctags
58 ${INSTALL} ${INSTALLFLAGS} -c b2m ${BINDIR}/b2m
59 ${INSTALL} ${INSTALLFLAGS} -c -m 444 emacs.1 ${MANDIR}/emacs.${MANEXT}
60
61install.sysv: all
62 -cp emacsclient ${BINDIR}/emacsclient.new
63 -chmod 755 ${BINDIR}/emacsclient.new
64 -chgrp bin ${BINDIR}/emacsclient.new
65 -chown bin ${BINDIR}/emacsclient.new
66 -mv ${BINDIR}/emacsclient.new ${BINDIR}/emacsclient
67 -cp etags ${BINDIR}/etags.new
68 -chmod 755 ${BINDIR}/etags.new
69 -chgrp bin ${BINDIR}/etags.new
70 -chown bin ${BINDIR}/etags.new
71 -mv ${BINDIR}/etags.new ${BINDIR}/etags
72 -cp ctags ${BINDIR}/ctags.new
73 -chmod 755 ${BINDIR}/ctags.new
74 -chgrp bin ${BINDIR}/ctags.new
75 -chown bin ${BINDIR}/ctags.new
76 -mv ${BINDIR}/ctags.new ${BINDIR}/ctags
77 -cp b2m ${BINDIR}/b2m.new
78 -chmod 755 ${BINDIR}/b2m.new
79 -chgrp bin ${BINDIR}/b2m.new
80 -chown bin ${BINDIR}/b2m.new
81 -mv ${BINDIR}/b2m.new ${BINDIR}/b2m
82 -cp emacs.1 ${MANDIR}/emacs.${MANEXT}.new
83 -chmod 444 ${MANDIR}/emacs.${MANEXT}.new
84 -mv ${MANDIR}/emacs.${MANEXT}.new ${MANDIR}/emacs.${MANEXT}
85
86install.xenix:
87 cp etags ctags emacsclient ${BINDIR}
88 chmod 755 ${BINDIR}/etags ${BINDIR}/ctags
89 chmod 755 ${BINDIR}/emacsclient
90 cp b2m ${BINDIR}
91 chmod 755 ${BINDIR}/b2m
92 cp emacs.1 ${MANDIR}/emacs.${MANEXT}
93 chmod 444 ${MANDIR}/emacs.${MANEXT}
94
95
96clean mostlyclean:
b7cceaf1 97 -rm -f ${INSTALLABLES} ${UTILITIES} core *.o
f7dbcf3c
JB
98
99distclean:
b7cceaf1 100 -rm -f ${INSTALLABLES} ${UTILITIES} *~ \#* ../etc/DOC* core *.o
f7dbcf3c
JB
101 cd ../arch-lib; rm -f ${EXECUTABLES}
102
103realclean: distclean
104 rm TAGS aixcc.c
105
106# Test the contents of the directory.
107check:
108 @echo "We don't have any tests for GNU Emacs yet."
109
110TAGS: etags
111 etags *.[ch]
112
113# This verifies that the non-ASCII characters in the file `testfile'
114# have not been clobbered by whatever means were used to copy and
115# distribute Emacs. If they were clobbered, all the .elc files were
116# clobbered too.
117test-distrib: test-distrib.c
118 $(CC) -o test-distrib test-distrib.c
119 ./test-distrib
120
121GETOPTOBJS = getopt.o getopt1.o
122GETOPTDEPS = $(GETOPTOBJS) getopt.h
123getopt.o: getopt.c getopt.h
124getopt1.o: getopt1.c getopt.h
125
126etags: etags.c $(GETOPTDEPS)
e065a56e 127 $(CC) ${CFLAGS} -DETAGS etags.c $(GETOPTOBJS) $(LOADLIBES) -o etags
f7dbcf3c
JB
128
129ctags: etags.c $(GETOPTDEPS)
e065a56e 130 $(CC) ${CFLAGS} -DCTAGS etags.c $(GETOPTOBJS) $(LOADLIBES) -o ctags
f7dbcf3c
JB
131
132wakeup: wakeup.c
e065a56e 133 $(CC) ${CFLAGS} wakeup.c $(LOADLIBES) -o wakeup
f7dbcf3c
JB
134
135make-docfile: make-docfile.c
e065a56e 136 $(CC) ${CFLAGS} make-docfile.c $(LOADLIBES) -o make-docfile
f7dbcf3c
JB
137
138digest-doc: digest-doc.c
e065a56e 139 $(CC) ${CFLAGS} digest-doc.c $(LOADLIBES) -o digest-doc
f7dbcf3c
JB
140
141sorted-doc: sorted-doc.c
e065a56e 142 $(CC) ${CFLAGS} sorted-doc.c $(LOADLIBES) -o sorted-doc
f7dbcf3c 143
ef15f270 144b2m: b2m.c ../src/config.h
e065a56e 145 $(CC) ${CFLAGS} b2m.c $(LOADLIBES) -o b2m
f7dbcf3c
JB
146
147movemail: movemail.c ../src/config.h
e065a56e 148 $(CC) ${CFLAGS} movemail.c $(LOADLIBES) -o movemail
f7dbcf3c
JB
149
150cvtmail: cvtmail.c
e065a56e 151 $(CC) ${CFLAGS} cvtmail.c $(LOADLIBES) -o cvtmail
f7dbcf3c
JB
152
153fakemail: fakemail.c ../src/config.h
e065a56e 154 $(CC) ${CFLAGS} fakemail.c $(LOADLIBES) -o fakemail
f7dbcf3c
JB
155
156yow: yow.c ../src/paths.h
e065a56e 157 $(CC) ${CFLAGS} yow.c $(LOADLIBES) -o yow
f7dbcf3c
JB
158
159env: env.c ../src/config.h
e065a56e 160 $(CC) -DEMACS ${CFLAGS} env.c $(LOADLIBES) -o env
f7dbcf3c
JB
161
162emacsserver: emacsserver.c ../src/config.h
e065a56e 163 $(CC) ${CFLAGS} emacsserver.c $(LOADLIBES) -o emacsserver
f7dbcf3c
JB
164
165emacsclient: emacsclient.c ../src/config.h
e065a56e 166 $(CC) ${CFLAGS} emacsclient.c $(LOADLIBES) -o emacsclient
f7dbcf3c
JB
167
168hexl: hexl.c
e065a56e 169 $(CC) ${CFLAGS} hexl.c $(LOADLIBES) -o hexl
f7dbcf3c
JB
170
171timer: getdate.o timer.o
e065a56e 172 $(CC) $(CFLAGS) getdate.o timer.o -o timer
f7dbcf3c
JB
173
174# These are NOT included in INSTALLABLES or UTILITIES.
175# See ../src/ymakefile.
176emacstool: emacstool.c
177 $(CC) emacstool.c -o emacstool ${CFLAGS} \
178 -lsuntool -lsunwindow -lpixrect $(LOADLIBES)
179
180# For SUN Japanese Language Environment
181nemacstool: emacstool.c
182 $(CC) -o nemacstool -DJLE ${CFLAGS} emacstool.c \
183 -lsuntool -lmle -lsunwindow -lpixrect $(LOADLIBES)
184
185xvetool: emacstool.c
186 $(CC) -o xvetool -DXVIEW ${CFLAGS} emacstool.c \
187 -lxview -lX -I$(OPENWINHOME)/include -L$(OPENWINHOME)/lib \
188 $(LOADLIBES)
189
190xveterm: emacstool.c
191 $(CC) -o xveterm -DXVIEW -DTTERM ${CFLAGS} emacstool.c \
192 -lxview -lolgx -lX -I$(OPENWINHOME)/include -L$(OPENWINHOME)/lib \
193 $(LOADLIBES)
194
195aixcc: aixcc.c
196 $(CC) $(CFLAGS) -o aixcc aixcc.c
197
198aixcc.c: aixcc.lex
199 lex aixcc.lex
200 mv lex.yy.c aixcc.c