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
|
|
19 # Things that a user might actually run
|
|
20 INSTALLABLES = etags ctags emacsclient b2m
|
|
21
|
|
22 # Things that Emacs runs internally, or during the build process.
|
|
23 UTILITIES= test-distrib wakeup make-docfile digest-doc sorted-doc \
|
|
24 movemail cvtmail fakemail yow env emacsserver hexl timer
|
|
25
|
|
26 EXECUTABLES= ${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.
|
|
30 CC=gcc
|
|
31 CFLAGS= -g -O
|
|
32 LOADLIBES=
|
|
33
|
|
34 all: ../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.
|
|
48 install: 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
|
|
55 install.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
|
|
80 install.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
|
|
90 clean mostlyclean:
|
|
91 -rm -f ${EXECUTABLES} core *.o
|
|
92
|
|
93 distclean:
|
|
94 -rm -f ${EXECUTABLES} *~ \#* ../etc/DOC* core *.o
|
|
95 cd ../arch-lib; rm -f ${EXECUTABLES}
|
|
96
|
|
97 realclean: distclean
|
|
98 rm TAGS aixcc.c
|
|
99
|
|
100 # Test the contents of the directory.
|
|
101 check:
|
|
102 @echo "We don't have any tests for GNU Emacs yet."
|
|
103
|
|
104 TAGS: 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.
|
|
111 test-distrib: test-distrib.c
|
|
112 $(CC) -o test-distrib test-distrib.c
|
|
113 ./test-distrib
|
|
114
|
|
115 GETOPTOBJS = getopt.o getopt1.o
|
|
116 GETOPTDEPS = $(GETOPTOBJS) getopt.h
|
|
117 getopt.o: getopt.c getopt.h
|
|
118 getopt1.o: getopt1.c getopt.h
|
|
119
|
|
120 etags: etags.c $(GETOPTDEPS)
|
638
|
121 $(CC) ${CFLAGS} -DETAGS etags.c $(GETOPTOBJS) $(LOADLIBES) -o etags
|
616
|
122
|
|
123 ctags: etags.c $(GETOPTDEPS)
|
638
|
124 $(CC) ${CFLAGS} -DCTAGS etags.c $(GETOPTOBJS) $(LOADLIBES) -o ctags
|
616
|
125
|
|
126 wakeup: wakeup.c
|
638
|
127 $(CC) ${CFLAGS} wakeup.c $(LOADLIBES) -o wakeup
|
616
|
128
|
|
129 make-docfile: make-docfile.c
|
638
|
130 $(CC) ${CFLAGS} make-docfile.c $(LOADLIBES) -o make-docfile
|
616
|
131
|
|
132 digest-doc: digest-doc.c
|
638
|
133 $(CC) ${CFLAGS} digest-doc.c $(LOADLIBES) -o digest-doc
|
616
|
134
|
|
135 sorted-doc: sorted-doc.c
|
638
|
136 $(CC) ${CFLAGS} sorted-doc.c $(LOADLIBES) -o sorted-doc
|
616
|
137
|
|
138 b2m: b2m.c
|
638
|
139 $(CC) ${CFLAGS} b2m.c $(LOADLIBES) -o b2m
|
616
|
140
|
|
141 movemail: movemail.c ../src/config.h
|
638
|
142 $(CC) ${CFLAGS} movemail.c $(LOADLIBES) -o movemail
|
616
|
143
|
|
144 cvtmail: cvtmail.c
|
638
|
145 $(CC) ${CFLAGS} cvtmail.c $(LOADLIBES) -o cvtmail
|
616
|
146
|
|
147 fakemail: fakemail.c ../src/config.h
|
638
|
148 $(CC) ${CFLAGS} fakemail.c $(LOADLIBES) -o fakemail
|
616
|
149
|
|
150 yow: yow.c ../src/paths.h
|
638
|
151 $(CC) ${CFLAGS} yow.c $(LOADLIBES) -o yow
|
616
|
152
|
|
153 env: env.c ../src/config.h
|
638
|
154 $(CC) -DEMACS ${CFLAGS} env.c $(LOADLIBES) -o env
|
616
|
155
|
|
156 emacsserver: emacsserver.c ../src/config.h
|
638
|
157 $(CC) ${CFLAGS} emacsserver.c $(LOADLIBES) -o emacsserver
|
616
|
158
|
|
159 emacsclient: emacsclient.c ../src/config.h
|
638
|
160 $(CC) ${CFLAGS} emacsclient.c $(LOADLIBES) -o emacsclient
|
616
|
161
|
|
162 hexl: hexl.c
|
638
|
163 $(CC) ${CFLAGS} hexl.c $(LOADLIBES) -o hexl
|
616
|
164
|
|
165 timer: getdate.o timer.o
|
638
|
166 $(CC) $(CFLAGS) getdate.o timer.o -o timer
|
616
|
167
|
|
168 # These are NOT included in INSTALLABLES or UTILITIES.
|
|
169 # See ../src/ymakefile.
|
|
170 emacstool: emacstool.c
|
|
171 $(CC) emacstool.c -o emacstool ${CFLAGS} \
|
|
172 -lsuntool -lsunwindow -lpixrect $(LOADLIBES)
|
|
173
|
|
174 # For SUN Japanese Language Environment
|
|
175 nemacstool: emacstool.c
|
|
176 $(CC) -o nemacstool -DJLE ${CFLAGS} emacstool.c \
|
|
177 -lsuntool -lmle -lsunwindow -lpixrect $(LOADLIBES)
|
|
178
|
|
179 xvetool: emacstool.c
|
|
180 $(CC) -o xvetool -DXVIEW ${CFLAGS} emacstool.c \
|
|
181 -lxview -lX -I$(OPENWINHOME)/include -L$(OPENWINHOME)/lib \
|
|
182 $(LOADLIBES)
|
|
183
|
|
184 xveterm: emacstool.c
|
|
185 $(CC) -o xveterm -DXVIEW -DTTERM ${CFLAGS} emacstool.c \
|
|
186 -lxview -lolgx -lX -I$(OPENWINHOME)/include -L$(OPENWINHOME)/lib \
|
|
187 $(LOADLIBES)
|
|
188
|
|
189 aixcc: aixcc.c
|
|
190 $(CC) $(CFLAGS) -o aixcc aixcc.c
|
|
191
|
|
192 aixcc.c: aixcc.lex
|
|
193 lex aixcc.lex
|
|
194 mv lex.yy.c aixcc.c
|