616
|
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
|
1112
|
19 # Things that a user might actually run, which should be installed in bindir.
|
616
|
20 INSTALLABLES = etags ctags emacsclient b2m
|
|
21
|
1112
|
22 # Things that Emacs runs internally, or during the build process,
|
|
23 # which should not be installed in bindir.
|
616
|
24 UTILITIES= test-distrib wakeup make-docfile digest-doc sorted-doc \
|
1112
|
25 movemail cvtmail fakemail yow env emacsserver hexl timer
|
616
|
26
|
1112
|
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}
|
616
|
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
|
1282
|
41 # We use rm -f so that rm won't try to ask questions during the build.
|
616
|
42 ../arch-lib: ${EXECUTABLES}
|
|
43 for file in ${EXECUTABLES} ; do \
|
|
44 if [ -f $${file} ]; then \
|
|
45 if [ -f ../arch-lib/$${file} ]; then \
|
1282
|
46 rm -f ../arch-lib/$${file} ; \
|
616
|
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:
|
1112
|
97 -rm -f ${INSTALLABLES} ${UTILITIES} core *.o
|
616
|
98
|
|
99 distclean:
|
1112
|
100 -rm -f ${INSTALLABLES} ${UTILITIES} *~ \#* ../etc/DOC* core *.o
|
616
|
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)
|
638
|
127 $(CC) ${CFLAGS} -DETAGS etags.c $(GETOPTOBJS) $(LOADLIBES) -o etags
|
616
|
128
|
|
129 ctags: etags.c $(GETOPTDEPS)
|
638
|
130 $(CC) ${CFLAGS} -DCTAGS etags.c $(GETOPTOBJS) $(LOADLIBES) -o ctags
|
616
|
131
|
|
132 wakeup: wakeup.c
|
638
|
133 $(CC) ${CFLAGS} wakeup.c $(LOADLIBES) -o wakeup
|
616
|
134
|
|
135 make-docfile: make-docfile.c
|
638
|
136 $(CC) ${CFLAGS} make-docfile.c $(LOADLIBES) -o make-docfile
|
616
|
137
|
|
138 digest-doc: digest-doc.c
|
638
|
139 $(CC) ${CFLAGS} digest-doc.c $(LOADLIBES) -o digest-doc
|
616
|
140
|
|
141 sorted-doc: sorted-doc.c
|
638
|
142 $(CC) ${CFLAGS} sorted-doc.c $(LOADLIBES) -o sorted-doc
|
616
|
143
|
999
|
144 b2m: b2m.c ../src/config.h
|
638
|
145 $(CC) ${CFLAGS} b2m.c $(LOADLIBES) -o b2m
|
616
|
146
|
|
147 movemail: movemail.c ../src/config.h
|
638
|
148 $(CC) ${CFLAGS} movemail.c $(LOADLIBES) -o movemail
|
616
|
149
|
|
150 cvtmail: cvtmail.c
|
638
|
151 $(CC) ${CFLAGS} cvtmail.c $(LOADLIBES) -o cvtmail
|
616
|
152
|
|
153 fakemail: fakemail.c ../src/config.h
|
638
|
154 $(CC) ${CFLAGS} fakemail.c $(LOADLIBES) -o fakemail
|
616
|
155
|
|
156 yow: yow.c ../src/paths.h
|
638
|
157 $(CC) ${CFLAGS} yow.c $(LOADLIBES) -o yow
|
616
|
158
|
|
159 env: env.c ../src/config.h
|
638
|
160 $(CC) -DEMACS ${CFLAGS} env.c $(LOADLIBES) -o env
|
616
|
161
|
|
162 emacsserver: emacsserver.c ../src/config.h
|
638
|
163 $(CC) ${CFLAGS} emacsserver.c $(LOADLIBES) -o emacsserver
|
616
|
164
|
|
165 emacsclient: emacsclient.c ../src/config.h
|
638
|
166 $(CC) ${CFLAGS} emacsclient.c $(LOADLIBES) -o emacsclient
|
616
|
167
|
|
168 hexl: hexl.c
|
638
|
169 $(CC) ${CFLAGS} hexl.c $(LOADLIBES) -o hexl
|
616
|
170
|
|
171 timer: getdate.o timer.o
|
638
|
172 $(CC) $(CFLAGS) getdate.o timer.o -o timer
|
616
|
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
|