7
|
1 #
|
|
2 # Makefile for VIM on the Amiga, using Aztec/Manx C 5.0 or later
|
|
3 #
|
|
4 # Note: Not all dependencies are included. This was done to avoid having
|
|
5 # to compile everything when a global variable or function is added.
|
|
6 # Careful when changing a global struct or variable!
|
|
7 #
|
|
8
|
|
9 #>>>>> choose options:
|
|
10
|
|
11 ### See feature.h for a list of optionals.
|
|
12 ### Any other defines can be included here.
|
|
13 DEFINES =
|
|
14
|
|
15 #>>>>> if HAVE_TGETENT is defined obj/termlib.o has to be used
|
|
16 #TERMLIB = obj/termlib.o
|
|
17 TERMLIB =
|
|
18
|
|
19 #>>>>> choose between debugging (-bs) or optimizing (-so)
|
|
20 OPTIONS = -so
|
|
21 #OPTIONS = -bs
|
|
22
|
|
23 #>>>>> end of choices
|
|
24 ###########################################################################
|
|
25
|
|
26 CFLAGS = $(OPTIONS) -wapruq -ps -qf -Iproto $(DEFINES) -DAMIGA
|
|
27
|
|
28 LIBS = -lc16
|
|
29 SYMS = vim.syms
|
|
30 CC = cc
|
|
31 LN = ln
|
|
32 LNFLAGS = +q
|
|
33 SHELL = csh
|
|
34 REN = $(SHELL) -c mv -f
|
|
35 DEL = $(SHELL) -c rm -f
|
|
36
|
|
37 SRC = buffer.c \
|
|
38 charset.c \
|
|
39 diff.c \
|
|
40 digraph.c \
|
|
41 edit.c \
|
|
42 eval.c \
|
|
43 ex_cmds.c \
|
|
44 ex_cmds2.c \
|
|
45 ex_docmd.c \
|
|
46 ex_eval.c \
|
|
47 ex_getln.c \
|
|
48 fileio.c \
|
|
49 fold.c \
|
|
50 getchar.c \
|
440
|
51 hardcopy.c \
|
121
|
52 hashtable.c \
|
7
|
53 main.c \
|
|
54 mark.c \
|
|
55 memfile.c \
|
|
56 memline.c \
|
|
57 menu.c \
|
|
58 message.c \
|
|
59 misc1.c \
|
|
60 misc2.c \
|
|
61 move.c \
|
|
62 mbyte.c \
|
|
63 normal.c \
|
|
64 ops.c \
|
|
65 option.c \
|
|
66 os_amiga.c \
|
|
67 quickfix.c \
|
|
68 regexp.c \
|
|
69 screen.c \
|
|
70 search.c \
|
222
|
71 spell.c \
|
7
|
72 syntax.c \
|
|
73 tag.c \
|
|
74 term.c \
|
|
75 ui.c \
|
|
76 undo.c \
|
|
77 window.c \
|
|
78 version.c
|
|
79
|
|
80 INCL = vim.h feature.h keymap.h macros.h ascii.h term.h structs.h os_amiga.h
|
|
81
|
|
82 OBJ = obj/buffer.o \
|
|
83 obj/charset.o \
|
|
84 obj/diff.o \
|
|
85 obj/digraph.o \
|
|
86 obj/edit.o \
|
|
87 obj/eval.o \
|
|
88 obj/ex_cmds.o \
|
|
89 obj/ex_cmds2.o \
|
|
90 obj/ex_docmd.o \
|
|
91 obj/ex_eval.o \
|
|
92 obj/ex_getln.o \
|
|
93 obj/fileio.o \
|
|
94 obj/fold.o \
|
|
95 obj/getchar.o \
|
440
|
96 obj/hardcopy.o \
|
121
|
97 obj/hashtable.o \
|
7
|
98 obj/main.o \
|
|
99 obj/mark.o \
|
|
100 obj/memfile.o \
|
|
101 obj/memline.o \
|
|
102 obj/menu.o \
|
|
103 obj/message.o \
|
|
104 obj/misc1.o \
|
|
105 obj/misc2.o \
|
|
106 obj/move.o \
|
|
107 obj/mbyte.o \
|
|
108 obj/normal.o \
|
|
109 obj/ops.o \
|
|
110 obj/option.o \
|
|
111 obj/os_amiga.o \
|
|
112 obj/quickfix.o \
|
|
113 obj/regexp.o \
|
|
114 obj/screen.o \
|
|
115 obj/search.o \
|
222
|
116 obj/spell.o \
|
7
|
117 obj/syntax.o \
|
|
118 obj/tag.o \
|
|
119 obj/term.o \
|
|
120 obj/ui.o \
|
|
121 obj/undo.o \
|
|
122 obj/window.o \
|
|
123 $(TERMLIB)
|
|
124
|
|
125 PRO = proto/buffer.pro \
|
|
126 proto/charset.pro \
|
|
127 proto/diff.pro \
|
|
128 proto/digraph.pro \
|
|
129 proto/edit.pro \
|
|
130 proto/eval.pro \
|
|
131 proto/ex_cmds.pro \
|
|
132 proto/ex_cmds2.pro \
|
|
133 proto/ex_docmd.pro \
|
|
134 proto/ex_eval.pro \
|
|
135 proto/ex_getln.pro \
|
|
136 proto/fileio.pro \
|
|
137 proto/fold.pro \
|
|
138 proto/getchar.pro \
|
440
|
139 proto/hardcopy.pro \
|
121
|
140 proto/hashtable.pro \
|
7
|
141 proto/main.pro \
|
|
142 proto/mark.pro \
|
|
143 proto/memfile.pro \
|
|
144 proto/memline.pro \
|
|
145 proto/menu.pro \
|
|
146 proto/message.pro \
|
|
147 proto/misc1.pro \
|
|
148 proto/misc2.pro \
|
|
149 proto/move.pro \
|
|
150 proto/mbyte.pro \
|
|
151 proto/normal.pro \
|
|
152 proto/ops.pro \
|
|
153 proto/option.pro \
|
|
154 proto/os_amiga.pro \
|
|
155 proto/quickfix.pro \
|
|
156 proto/regexp.pro \
|
|
157 proto/screen.pro \
|
|
158 proto/search.pro \
|
222
|
159 proto/spell.pro \
|
7
|
160 proto/syntax.pro \
|
|
161 proto/tag.pro \
|
|
162 proto/term.pro \
|
|
163 proto/termlib.pro \
|
|
164 proto/ui.pro \
|
|
165 proto/undo.pro \
|
|
166 proto/window.pro
|
|
167
|
|
168 all: Vim xxd/Xxd
|
|
169
|
|
170 Vim: obj $(OBJ) version.c version.h
|
|
171 $(CC) $(CFLAGS) version.c -o obj/version.o
|
|
172 $(LN) $(LNFLAGS) -m -o Vim $(OBJ) obj/version.o $(LIBS)
|
|
173
|
|
174 debug: obj $(OBJ) version.c version.h
|
|
175 $(CC) $(CFLAGS) version.c -o obj/version.o
|
|
176 $(LN) $(LNFLAGS) -m -g -o Vim $(OBJ) obj/version.o $(LIBS)
|
|
177
|
|
178 xxd/Xxd: xxd/xxd.c
|
|
179 $(SHELL) -c cd xxd; make -f Make_amiga.mak; cd ..
|
|
180
|
|
181 # Making prototypes with Manx has been removed, because it caused too many
|
|
182 # problems.
|
|
183 #proto: $(SYMS) $(PRO)
|
|
184
|
|
185 obj:
|
|
186 makedir obj
|
|
187
|
|
188 tags: $(SRC) $(INCL)
|
|
189 $(SHELL) -c ctags $(SRC) *.h
|
|
190
|
|
191 # can't use delete here, too many file names
|
|
192 clean:
|
|
193 $(DEL) $(OBJ) obj/version.o \
|
|
194 obj/termlib.o Vim $(SYMS) xxd/Xxd
|
|
195
|
|
196 test:
|
|
197 $(SHELL) -c cd testdir; make -f Make_amiga.mak; cd ..
|
|
198
|
|
199 $(SYMS): $(INCL) $(PRO)
|
|
200 $(CC) $(CFLAGS) -ho$(SYMS) vim.h
|
|
201
|
|
202 ###########################################################################
|
|
203
|
|
204 # Unfortunately, Manx's make doesn't understand a .c.o rule, so each
|
|
205 # compilation command has to be given explicitly.
|
|
206
|
|
207 CCSYM = $(CC) $(CFLAGS) -hi$(SYMS) -o
|
|
208 CCNOSYM = $(CC) $(CFLAGS) -o
|
|
209
|
|
210 $(OBJ): $(SYMS)
|
|
211
|
|
212 obj/buffer.o: buffer.c
|
|
213 $(CCSYM) $@ buffer.c
|
|
214
|
|
215 obj/charset.o: charset.c
|
|
216 $(CCSYM) $@ charset.c
|
|
217
|
|
218 obj/diff.o: diff.c
|
|
219 $(CCSYM) $@ diff.c
|
|
220
|
|
221 obj/digraph.o: digraph.c
|
|
222 $(CCSYM) $@ digraph.c
|
|
223
|
|
224 obj/edit.o: edit.c
|
|
225 $(CCSYM) $@ edit.c
|
|
226
|
|
227 obj/eval.o: eval.c
|
|
228 $(CCSYM) $@ eval.c
|
|
229
|
|
230 obj/ex_cmds.o: ex_cmds.c
|
|
231 $(CCSYM) $@ ex_cmds.c
|
|
232
|
|
233 obj/ex_cmds2.o: ex_cmds2.c
|
|
234 $(CCSYM) $@ ex_cmds2.c
|
|
235
|
|
236 # Don't use $(SYMS) here, because ex_docmd.c defines DO_DECLARE_EXCMD
|
|
237 obj/ex_docmd.o: ex_docmd.c ex_cmds.h
|
|
238 $(CCNOSYM) $@ ex_docmd.c
|
|
239
|
|
240 obj/ex_eval.o: ex_eval.c ex_cmds.h
|
|
241 $(CCSYM) $@ ex_eval.c
|
|
242
|
|
243 obj/ex_getln.o: ex_getln.c
|
|
244 $(CCSYM) $@ ex_getln.c
|
|
245
|
|
246 obj/fileio.o: fileio.c
|
|
247 $(CCSYM) $@ fileio.c
|
|
248
|
|
249 obj/fold.o: fold.c
|
|
250 $(CCSYM) $@ fold.c
|
|
251
|
|
252 obj/getchar.o: getchar.c
|
|
253 $(CCSYM) $@ getchar.c
|
|
254
|
440
|
255 obj/hardcopy.o: hardcopy.c
|
|
256 $(CCSYM) $@ hardcopy.c
|
|
257
|
121
|
258 obj/hashtable.o: hashtable.c
|
|
259 $(CCSYM) $@ hashtable.c
|
|
260
|
7
|
261 # Don't use $(SYMS) here, because main.c defines EXTERN
|
|
262 obj/main.o: main.c option.h globals.h
|
|
263 $(CCNOSYM) $@ main.c
|
|
264
|
|
265 obj/mark.o: mark.c
|
|
266 $(CCSYM) $@ mark.c
|
|
267
|
|
268 obj/memfile.o: memfile.c
|
|
269 $(CCSYM) $@ memfile.c
|
|
270
|
|
271 obj/memline.o: memline.c
|
|
272 $(CCSYM) $@ memline.c
|
|
273
|
|
274 obj/menu.o: menu.c
|
|
275 $(CCSYM) $@ menu.c
|
|
276
|
|
277 # Don't use $(SYMS) here, because message.c defines MESSAGE_FILE
|
|
278 obj/message.o: message.c
|
|
279 $(CCNOSYM) $@ message.c
|
|
280
|
|
281 obj/misc1.o: misc1.c
|
|
282 $(CCSYM) $@ misc1.c
|
|
283
|
|
284 obj/misc2.o: misc2.c
|
|
285 $(CCSYM) $@ misc2.c
|
|
286
|
|
287 obj/move.o: move.c
|
|
288 $(CCSYM) $@ move.c
|
|
289
|
|
290 obj/mbyte.o: mbyte.c
|
|
291 $(CCSYM) $@ mbyte.c
|
|
292
|
|
293 obj/normal.o: normal.c
|
|
294 $(CCSYM) $@ normal.c
|
|
295
|
|
296 obj/ops.o: ops.c
|
|
297 $(CCSYM) $@ ops.c
|
|
298
|
|
299 # Don't use $(SYMS) here, because option.h defines variables here
|
|
300 obj/option.o: option.c
|
|
301 $(CCNOSYM) $@ option.c
|
|
302
|
|
303 obj/os_amiga.o: os_amiga.c
|
|
304 $(CCSYM) $@ os_amiga.c
|
|
305
|
|
306 obj/quickfix.o: quickfix.c
|
|
307 $(CCSYM) $@ quickfix.c
|
|
308
|
|
309 obj/regexp.o: regexp.c
|
|
310 $(CCSYM) $@ regexp.c
|
|
311
|
|
312 obj/screen.o: screen.c
|
|
313 $(CCSYM) $@ screen.c
|
|
314
|
|
315 obj/search.o: search.c
|
|
316 $(CCSYM) $@ search.c
|
|
317
|
222
|
318 obj/spell.o: spell.c
|
|
319 $(CCSYM) $@ spell.c
|
|
320
|
7
|
321 obj/syntax.o: syntax.c
|
|
322 $(CCSYM) $@ syntax.c
|
|
323
|
|
324 obj/tag.o: tag.c
|
|
325 $(CCSYM) $@ tag.c
|
|
326
|
|
327 obj/term.o: term.c term.h
|
|
328 $(CCSYM) $@ term.c
|
|
329
|
|
330 obj/termlib.o: termlib.c
|
|
331 $(CCSYM) $@ termlib.c
|
|
332
|
|
333 obj/ui.o: ui.c
|
|
334 $(CCSYM) $@ ui.c
|
|
335
|
|
336 obj/undo.o: undo.c
|
|
337 $(CCSYM) $@ undo.c
|
|
338
|
|
339 obj/window.o: window.c
|
|
340 $(CCSYM) $@ window.c
|