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