entered into RCS
[bpt/emacs.git] / lib-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 # 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.
13 SHELL = /bin/sh
14
15 # Allow the user to specify the install program.
16 INSTALL = install
17 INSTALLFLAGS =
18
19 # Things that a user might actually run, which should be installed in bindir.
20 INSTALLABLES = etags ctags emacsclient b2m
21
22 # Things that Emacs runs internally, or during the build process,
23 # which should not be installed in bindir.
24 UTILITIES= test-distrib wakeup make-docfile digest-doc sorted-doc \
25 movemail cvtmail fakemail yow env emacsserver hexl timer
26
27 # Like UTILITIES, but they're not system-dependent, and should not be
28 # deleted by the distclean target.
29 SCRIPTS= rcs2log vcdiff
30
31 EXECUTABLES= ${UTILITIES} ${INSTALLABLES} ${SCRIPTS}
32
33 # These things are edited by ../configure; don't change anything before
34 # or including the '='; everything after that gets blown away.
35 CC=gcc
36 CFLAGS= -g -O
37 LOADLIBES=
38
39 all: ../arch-lib
40
41 # We use rm -f so that rm won't try to ask questions during the build.
42 ../arch-lib: ${EXECUTABLES}
43 for file in ${EXECUTABLES} ; do \
44 if [ -f $${file} ]; then \
45 if [ -f ../arch-lib/$${file} ]; then \
46 rm -f ../arch-lib/$${file} ; \
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.
54 install: 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
61 install.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
86 install.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
96 clean mostlyclean:
97 -rm -f ${INSTALLABLES} ${UTILITIES} core *.o
98
99 distclean:
100 -rm -f ${INSTALLABLES} ${UTILITIES} *~ \#* ../etc/DOC* core *.o
101 cd ../arch-lib; rm -f ${EXECUTABLES}
102
103 realclean: distclean
104 rm TAGS aixcc.c
105
106 # Test the contents of the directory.
107 check:
108 @echo "We don't have any tests for GNU Emacs yet."
109
110 TAGS: 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.
117 test-distrib: test-distrib.c
118 $(CC) -o test-distrib test-distrib.c
119 ./test-distrib
120
121 GETOPTOBJS = getopt.o getopt1.o
122 GETOPTDEPS = $(GETOPTOBJS) getopt.h
123 getopt.o: getopt.c getopt.h
124 getopt1.o: getopt1.c getopt.h
125
126 etags: etags.c $(GETOPTDEPS)
127 $(CC) ${CFLAGS} -DETAGS etags.c $(GETOPTOBJS) $(LOADLIBES) -o etags
128
129 ctags: etags.c $(GETOPTDEPS)
130 $(CC) ${CFLAGS} -DCTAGS etags.c $(GETOPTOBJS) $(LOADLIBES) -o ctags
131
132 wakeup: wakeup.c
133 $(CC) ${CFLAGS} wakeup.c $(LOADLIBES) -o wakeup
134
135 make-docfile: make-docfile.c
136 $(CC) ${CFLAGS} make-docfile.c $(LOADLIBES) -o make-docfile
137
138 digest-doc: digest-doc.c
139 $(CC) ${CFLAGS} digest-doc.c $(LOADLIBES) -o digest-doc
140
141 sorted-doc: sorted-doc.c
142 $(CC) ${CFLAGS} sorted-doc.c $(LOADLIBES) -o sorted-doc
143
144 b2m: b2m.c ../src/config.h
145 $(CC) ${CFLAGS} b2m.c $(LOADLIBES) -o b2m
146
147 movemail: movemail.c ../src/config.h
148 $(CC) ${CFLAGS} movemail.c $(LOADLIBES) -o movemail
149
150 cvtmail: cvtmail.c
151 $(CC) ${CFLAGS} cvtmail.c $(LOADLIBES) -o cvtmail
152
153 fakemail: fakemail.c ../src/config.h
154 $(CC) ${CFLAGS} fakemail.c $(LOADLIBES) -o fakemail
155
156 yow: yow.c ../src/paths.h
157 $(CC) ${CFLAGS} yow.c $(LOADLIBES) -o yow
158
159 env: env.c ../src/config.h
160 $(CC) -DEMACS ${CFLAGS} env.c $(LOADLIBES) -o env
161
162 emacsserver: emacsserver.c ../src/config.h
163 $(CC) ${CFLAGS} emacsserver.c $(LOADLIBES) -o emacsserver
164
165 emacsclient: emacsclient.c ../src/config.h
166 $(CC) ${CFLAGS} emacsclient.c $(LOADLIBES) -o emacsclient
167
168 hexl: hexl.c
169 $(CC) ${CFLAGS} hexl.c $(LOADLIBES) -o hexl
170
171 timer: getdate.o timer.o
172 $(CC) $(CFLAGS) getdate.o timer.o -o timer
173
174 # These are NOT included in INSTALLABLES or UTILITIES.
175 # See ../src/ymakefile.
176 emacstool: emacstool.c
177 $(CC) emacstool.c -o emacstool ${CFLAGS} \
178 -lsuntool -lsunwindow -lpixrect $(LOADLIBES)
179
180 # For SUN Japanese Language Environment
181 nemacstool: emacstool.c
182 $(CC) -o nemacstool -DJLE ${CFLAGS} emacstool.c \
183 -lsuntool -lmle -lsunwindow -lpixrect $(LOADLIBES)
184
185 xvetool: emacstool.c
186 $(CC) -o xvetool -DXVIEW ${CFLAGS} emacstool.c \
187 -lxview -lX -I$(OPENWINHOME)/include -L$(OPENWINHOME)/lib \
188 $(LOADLIBES)
189
190 xveterm: emacstool.c
191 $(CC) -o xveterm -DXVIEW -DTTERM ${CFLAGS} emacstool.c \
192 -lxview -lolgx -lX -I$(OPENWINHOME)/include -L$(OPENWINHOME)/lib \
193 $(LOADLIBES)
194
195 aixcc: aixcc.c
196 $(CC) $(CFLAGS) -o aixcc aixcc.c
197
198 aixcc.c: aixcc.lex
199 lex aixcc.lex
200 mv lex.yy.c aixcc.c