blob: e3babe567d8f3630698f565a7c42c9d310207df4 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001#
2# Makefile for VIM on the Amiga, using Aztec/Manx C 5.0 or later
3#
Bram Moolenaar17b609e2016-01-01 17:56:17 +01004# NOTE: THIS IS OLD AND PROBABLY NO LONGER WORKS.
5#
Bram Moolenaar071d4272004-06-13 20:20:40 +00006# Note: Not all dependencies are included. This was done to avoid having
7# to compile everything when a global variable or function is added.
8# Careful when changing a global struct or variable!
9#
10
11#>>>>> choose options:
12
13### See feature.h for a list of optionals.
14### Any other defines can be included here.
15DEFINES =
16
17#>>>>> if HAVE_TGETENT is defined obj/termlib.o has to be used
18#TERMLIB = obj/termlib.o
19TERMLIB =
20
21#>>>>> choose between debugging (-bs) or optimizing (-so)
22OPTIONS = -so
23#OPTIONS = -bs
24
25#>>>>> end of choices
26###########################################################################
27
28CFLAGS = $(OPTIONS) -wapruq -ps -qf -Iproto $(DEFINES) -DAMIGA
29
30LIBS = -lc16
31SYMS = vim.syms
32CC = cc
33LN = ln
34LNFLAGS = +q
35SHELL = csh
36REN = $(SHELL) -c mv -f
37DEL = $(SHELL) -c rm -f
38
Bram Moolenaar75464dc2016-07-02 20:27:50 +020039SRC = arabic.c \
Bram Moolenaar3e460fd2019-01-26 16:21:07 +010040 autocmd.c \
Bram Moolenaar75464dc2016-07-02 20:27:50 +020041 blowfish.c \
Bram Moolenaaredac1852010-05-18 20:34:20 +020042 buffer.c \
Bram Moolenaarec28d152019-05-11 18:36:34 +020043 change.c \
Bram Moolenaar071d4272004-06-13 20:20:40 +000044 charset.c \
Bram Moolenaar07cf3822014-08-10 16:31:50 +020045 crypt.c \
46 crypt_zip.c \
Bram Moolenaareead75c2019-04-21 11:35:00 +020047 debugger.c \
Bram Moolenaar6583c442016-07-17 18:41:47 +020048 dict.c \
Bram Moolenaar071d4272004-06-13 20:20:40 +000049 diff.c \
50 digraph.c \
51 edit.c \
52 eval.c \
Bram Moolenaar73dad1e2016-07-17 22:13:49 +020053 evalfunc.c \
Bram Moolenaar071d4272004-06-13 20:20:40 +000054 ex_cmds.c \
55 ex_cmds2.c \
56 ex_docmd.c \
57 ex_eval.c \
58 ex_getln.c \
59 fileio.c \
Bram Moolenaar5fd0f502019-02-13 23:13:28 +010060 findfile.c \
Bram Moolenaar071d4272004-06-13 20:20:40 +000061 fold.c \
62 getchar.c \
Bram Moolenaar58d98232005-07-23 22:25:46 +000063 hardcopy.c \
Bram Moolenaarc01140a2006-03-24 22:21:52 +000064 hashtab.c \
Bram Moolenaar4b471622019-01-31 13:48:09 +010065 indent.c \
Bram Moolenaar7591bb32019-03-30 13:53:47 +010066 insexpand.c \
Bram Moolenaar520e1e42016-01-23 19:46:28 +010067 json.c \
Bram Moolenaar6583c442016-07-17 18:41:47 +020068 list.c \
Bram Moolenaar071d4272004-06-13 20:20:40 +000069 main.c \
70 mark.c \
71 memfile.c \
72 memline.c \
73 menu.c \
74 message.c \
75 misc1.c \
76 misc2.c \
77 move.c \
78 mbyte.c \
79 normal.c \
80 ops.c \
81 option.c \
82 os_amiga.c \
Bram Moolenaarc01140a2006-03-24 22:21:52 +000083 popupmnu.c \
Bram Moolenaarfa55cfc2019-07-13 22:59:32 +020084 profiler.c \
Bram Moolenaar071d4272004-06-13 20:20:40 +000085 quickfix.c \
86 regexp.c \
87 screen.c \
88 search.c \
Bram Moolenaaredac1852010-05-18 20:34:20 +020089 sha256.c \
Bram Moolenaarbbea4702019-01-01 13:20:31 +010090 sign.c \
Bram Moolenaar60c78922005-03-20 22:40:14 +000091 spell.c \
Bram Moolenaar9ccfebd2016-07-19 16:39:08 +020092 spellfile.c \
Bram Moolenaar071d4272004-06-13 20:20:40 +000093 syntax.c \
94 tag.c \
95 term.c \
96 ui.c \
97 undo.c \
Bram Moolenaarac9fb182019-04-27 13:04:13 +020098 usercmd.c \
Bram Moolenaar6583c442016-07-17 18:41:47 +020099 userfunc.c \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000100 window.c \
101 version.c
102
103INCL = vim.h feature.h keymap.h macros.h ascii.h term.h structs.h os_amiga.h
104
Bram Moolenaar75464dc2016-07-02 20:27:50 +0200105OBJ = obj/arabic.o \
Bram Moolenaar3e460fd2019-01-26 16:21:07 +0100106 obj/autocmd.o \
Bram Moolenaar75464dc2016-07-02 20:27:50 +0200107 obj/blowfish.o \
Bram Moolenaaredac1852010-05-18 20:34:20 +0200108 obj/buffer.o \
Bram Moolenaarec28d152019-05-11 18:36:34 +0200109 obj/change.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000110 obj/charset.o \
Bram Moolenaar07cf3822014-08-10 16:31:50 +0200111 obj/crypt.o \
112 obj/crypt_zip.o \
Bram Moolenaareead75c2019-04-21 11:35:00 +0200113 obj/debugger.o \
Bram Moolenaar6583c442016-07-17 18:41:47 +0200114 obj/dict.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000115 obj/diff.o \
116 obj/digraph.o \
117 obj/edit.o \
118 obj/eval.o \
Bram Moolenaar73dad1e2016-07-17 22:13:49 +0200119 obj/evalfunc.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000120 obj/ex_cmds.o \
121 obj/ex_cmds2.o \
122 obj/ex_docmd.o \
123 obj/ex_eval.o \
124 obj/ex_getln.o \
125 obj/fileio.o \
Bram Moolenaar5fd0f502019-02-13 23:13:28 +0100126 obj/findfile.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000127 obj/fold.o \
128 obj/getchar.o \
Bram Moolenaar58d98232005-07-23 22:25:46 +0000129 obj/hardcopy.o \
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000130 obj/hashtab.o \
Bram Moolenaar4b471622019-01-31 13:48:09 +0100131 obj/indent.o \
Bram Moolenaar7591bb32019-03-30 13:53:47 +0100132 obj/insexpand.o \
Bram Moolenaar520e1e42016-01-23 19:46:28 +0100133 obj/json.o \
Bram Moolenaar6583c442016-07-17 18:41:47 +0200134 obj/list.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000135 obj/main.o \
136 obj/mark.o \
137 obj/memfile.o \
138 obj/memline.o \
139 obj/menu.o \
140 obj/message.o \
141 obj/misc1.o \
142 obj/misc2.o \
143 obj/move.o \
144 obj/mbyte.o \
145 obj/normal.o \
146 obj/ops.o \
147 obj/option.o \
148 obj/os_amiga.o \
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000149 obj/popupmnu.o \
Bram Moolenaarfa55cfc2019-07-13 22:59:32 +0200150 obj/profiler.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000151 obj/quickfix.o \
152 obj/regexp.o \
153 obj/screen.o \
154 obj/search.o \
Bram Moolenaaredac1852010-05-18 20:34:20 +0200155 obj/sha256.o \
Bram Moolenaarbbea4702019-01-01 13:20:31 +0100156 obj/sign.o \
Bram Moolenaar60c78922005-03-20 22:40:14 +0000157 obj/spell.o \
Bram Moolenaar9ccfebd2016-07-19 16:39:08 +0200158 obj/spellfile.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000159 obj/syntax.o \
160 obj/tag.o \
161 obj/term.o \
162 obj/ui.o \
163 obj/undo.o \
Bram Moolenaarac9fb182019-04-27 13:04:13 +0200164 obj/usercmd.o \
Bram Moolenaar6583c442016-07-17 18:41:47 +0200165 obj/userfunc.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000166 obj/window.o \
167 $(TERMLIB)
168
Bram Moolenaar75464dc2016-07-02 20:27:50 +0200169PRO = proto/arabic.pro \
Bram Moolenaar3e460fd2019-01-26 16:21:07 +0100170 proto/autocmd.pro \
Bram Moolenaar75464dc2016-07-02 20:27:50 +0200171 proto/blowfish.pro \
Bram Moolenaar40e6a712010-05-16 22:32:54 +0200172 proto/buffer.pro \
Bram Moolenaarec28d152019-05-11 18:36:34 +0200173 proto/change.pro \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000174 proto/charset.pro \
Bram Moolenaar07cf3822014-08-10 16:31:50 +0200175 proto/crypt.pro \
176 proto/crypt_zip.pro \
Bram Moolenaareead75c2019-04-21 11:35:00 +0200177 proto/debugger.pro \
Bram Moolenaar6583c442016-07-17 18:41:47 +0200178 proto/dict.pro \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000179 proto/diff.pro \
180 proto/digraph.pro \
181 proto/edit.pro \
182 proto/eval.pro \
Bram Moolenaar73dad1e2016-07-17 22:13:49 +0200183 proto/evalfunc.pro \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000184 proto/ex_cmds.pro \
185 proto/ex_cmds2.pro \
186 proto/ex_docmd.pro \
187 proto/ex_eval.pro \
188 proto/ex_getln.pro \
189 proto/fileio.pro \
Bram Moolenaar5fd0f502019-02-13 23:13:28 +0100190 proto/findfile.pro \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000191 proto/fold.pro \
192 proto/getchar.pro \
Bram Moolenaar58d98232005-07-23 22:25:46 +0000193 proto/hardcopy.pro \
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000194 proto/hashtab.pro \
Bram Moolenaar4b471622019-01-31 13:48:09 +0100195 proto/indent.pro \
Bram Moolenaar7591bb32019-03-30 13:53:47 +0100196 proto/insexpand.pro \
Bram Moolenaar520e1e42016-01-23 19:46:28 +0100197 proto/json.pro \
Bram Moolenaar6583c442016-07-17 18:41:47 +0200198 proto/list.pro \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000199 proto/main.pro \
200 proto/mark.pro \
201 proto/memfile.pro \
202 proto/memline.pro \
203 proto/menu.pro \
204 proto/message.pro \
205 proto/misc1.pro \
206 proto/misc2.pro \
207 proto/move.pro \
208 proto/mbyte.pro \
209 proto/normal.pro \
210 proto/ops.pro \
211 proto/option.pro \
212 proto/os_amiga.pro \
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000213 proto/popupmnu.pro \
Bram Moolenaarfa55cfc2019-07-13 22:59:32 +0200214 proto/profiler.pro \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000215 proto/quickfix.pro \
216 proto/regexp.pro \
217 proto/screen.pro \
218 proto/search.pro \
Bram Moolenaar40e6a712010-05-16 22:32:54 +0200219 proto/sha256.pro \
Bram Moolenaarbbea4702019-01-01 13:20:31 +0100220 proto/sign.pro \
Bram Moolenaar60c78922005-03-20 22:40:14 +0000221 proto/spell.pro \
Bram Moolenaar9ccfebd2016-07-19 16:39:08 +0200222 proto/spellfile.pro \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000223 proto/syntax.pro \
224 proto/tag.pro \
225 proto/term.pro \
226 proto/termlib.pro \
227 proto/ui.pro \
228 proto/undo.pro \
Bram Moolenaarac9fb182019-04-27 13:04:13 +0200229 proto/usercmd.pro \
Bram Moolenaar6583c442016-07-17 18:41:47 +0200230 proto/userfunc.pro \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000231 proto/window.pro
232
233all: Vim xxd/Xxd
234
235Vim: obj $(OBJ) version.c version.h
236 $(CC) $(CFLAGS) version.c -o obj/version.o
237 $(LN) $(LNFLAGS) -m -o Vim $(OBJ) obj/version.o $(LIBS)
238
239debug: obj $(OBJ) version.c version.h
240 $(CC) $(CFLAGS) version.c -o obj/version.o
241 $(LN) $(LNFLAGS) -m -g -o Vim $(OBJ) obj/version.o $(LIBS)
242
243xxd/Xxd: xxd/xxd.c
244 $(SHELL) -c cd xxd; make -f Make_amiga.mak; cd ..
245
246# Making prototypes with Manx has been removed, because it caused too many
247# problems.
248#proto: $(SYMS) $(PRO)
249
250obj:
251 makedir obj
252
253tags: $(SRC) $(INCL)
254 $(SHELL) -c ctags $(SRC) *.h
255
256# can't use delete here, too many file names
257clean:
258 $(DEL) $(OBJ) obj/version.o \
259 obj/termlib.o Vim $(SYMS) xxd/Xxd
260
261test:
262 $(SHELL) -c cd testdir; make -f Make_amiga.mak; cd ..
263
264$(SYMS): $(INCL) $(PRO)
265 $(CC) $(CFLAGS) -ho$(SYMS) vim.h
266
267###########################################################################
268
269# Unfortunately, Manx's make doesn't understand a .c.o rule, so each
270# compilation command has to be given explicitly.
271
272CCSYM = $(CC) $(CFLAGS) -hi$(SYMS) -o
273CCNOSYM = $(CC) $(CFLAGS) -o
274
275$(OBJ): $(SYMS)
276
Bram Moolenaar75464dc2016-07-02 20:27:50 +0200277obj/arabic.o: arabic.c
278 $(CCSYM) $@ arabic.c
279
Bram Moolenaar3e460fd2019-01-26 16:21:07 +0100280obj/autocmd.o: autocmd.c
281 $(CCSYM) $@ autocmd.c
282
Bram Moolenaaredac1852010-05-18 20:34:20 +0200283obj/blowfish.o: blowfish.c
284 $(CCSYM) $@ blowfish.c
285
Bram Moolenaar071d4272004-06-13 20:20:40 +0000286obj/buffer.o: buffer.c
287 $(CCSYM) $@ buffer.c
288
Bram Moolenaarec28d152019-05-11 18:36:34 +0200289obj/change.o: change.c
290 $(CCSYM) $@ change.c
291
Bram Moolenaar071d4272004-06-13 20:20:40 +0000292obj/charset.o: charset.c
293 $(CCSYM) $@ charset.c
294
Bram Moolenaar07cf3822014-08-10 16:31:50 +0200295obj/crypt.o: crypt.c
296 $(CCSYM) $@ crypt.c
297
298obj/crypt_zip.o: crypt_zip.c
299 $(CCSYM) $@ crypt_zip.c
300
Bram Moolenaareead75c2019-04-21 11:35:00 +0200301obj/debugger.o: debugger.c
302 $(CCSYM) $@ debugger.c
303
Bram Moolenaar6583c442016-07-17 18:41:47 +0200304obj/dict.o: dict.c
305 $(CCSYM) $@ dict.c
306
Bram Moolenaar071d4272004-06-13 20:20:40 +0000307obj/diff.o: diff.c
308 $(CCSYM) $@ diff.c
309
310obj/digraph.o: digraph.c
311 $(CCSYM) $@ digraph.c
312
313obj/edit.o: edit.c
314 $(CCSYM) $@ edit.c
315
316obj/eval.o: eval.c
317 $(CCSYM) $@ eval.c
318
Bram Moolenaar73dad1e2016-07-17 22:13:49 +0200319obj/evalfunc.o: evalfunc.c
320 $(CCSYM) $@ evalfunc.c
321
Bram Moolenaar071d4272004-06-13 20:20:40 +0000322obj/ex_cmds.o: ex_cmds.c
323 $(CCSYM) $@ ex_cmds.c
324
325obj/ex_cmds2.o: ex_cmds2.c
326 $(CCSYM) $@ ex_cmds2.c
327
328# Don't use $(SYMS) here, because ex_docmd.c defines DO_DECLARE_EXCMD
329obj/ex_docmd.o: ex_docmd.c ex_cmds.h
330 $(CCNOSYM) $@ ex_docmd.c
331
332obj/ex_eval.o: ex_eval.c ex_cmds.h
333 $(CCSYM) $@ ex_eval.c
334
335obj/ex_getln.o: ex_getln.c
336 $(CCSYM) $@ ex_getln.c
337
338obj/fileio.o: fileio.c
339 $(CCSYM) $@ fileio.c
340
Bram Moolenaar5fd0f502019-02-13 23:13:28 +0100341obj/findfile.o: findfile.c
342 $(CCSYM) $@ findfile.c
343
Bram Moolenaar071d4272004-06-13 20:20:40 +0000344obj/fold.o: fold.c
345 $(CCSYM) $@ fold.c
346
347obj/getchar.o: getchar.c
348 $(CCSYM) $@ getchar.c
349
Bram Moolenaar58d98232005-07-23 22:25:46 +0000350obj/hardcopy.o: hardcopy.c
351 $(CCSYM) $@ hardcopy.c
352
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000353obj/hashtab.o: hashtab.c
354 $(CCSYM) $@ hashtab.c
Bram Moolenaarce5e58e2005-01-19 22:24:34 +0000355
Bram Moolenaar4b471622019-01-31 13:48:09 +0100356obj/indent.o: indent.c
357 $(CCSYM) $@ indent.c
358
Bram Moolenaar7591bb32019-03-30 13:53:47 +0100359obj/insexpand.o: insexpand.c
360 $(CCSYM) $@ insexpand.c
361
Bram Moolenaar520e1e42016-01-23 19:46:28 +0100362obj/json.o: json.c
363 $(CCSYM) $@ json.c
364
Bram Moolenaar6583c442016-07-17 18:41:47 +0200365obj/list.o: list.c
366 $(CCSYM) $@ list.c
367
Bram Moolenaar071d4272004-06-13 20:20:40 +0000368# Don't use $(SYMS) here, because main.c defines EXTERN
369obj/main.o: main.c option.h globals.h
370 $(CCNOSYM) $@ main.c
371
372obj/mark.o: mark.c
373 $(CCSYM) $@ mark.c
374
375obj/memfile.o: memfile.c
376 $(CCSYM) $@ memfile.c
377
378obj/memline.o: memline.c
379 $(CCSYM) $@ memline.c
380
381obj/menu.o: menu.c
382 $(CCSYM) $@ menu.c
383
384# Don't use $(SYMS) here, because message.c defines MESSAGE_FILE
385obj/message.o: message.c
386 $(CCNOSYM) $@ message.c
387
388obj/misc1.o: misc1.c
389 $(CCSYM) $@ misc1.c
390
391obj/misc2.o: misc2.c
392 $(CCSYM) $@ misc2.c
393
394obj/move.o: move.c
395 $(CCSYM) $@ move.c
396
397obj/mbyte.o: mbyte.c
398 $(CCSYM) $@ mbyte.c
399
400obj/normal.o: normal.c
401 $(CCSYM) $@ normal.c
402
403obj/ops.o: ops.c
404 $(CCSYM) $@ ops.c
405
406# Don't use $(SYMS) here, because option.h defines variables here
407obj/option.o: option.c
408 $(CCNOSYM) $@ option.c
409
410obj/os_amiga.o: os_amiga.c
411 $(CCSYM) $@ os_amiga.c
412
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000413obj/popupmnu.o: popupmnu.c
414 $(CCSYM) $@ popupmnu.c
Bram Moolenaar1c7715d2005-10-03 22:02:18 +0000415
Bram Moolenaarfa55cfc2019-07-13 22:59:32 +0200416obj/profiler.o: profiler.c
417 $(CCSYM) $@ profiler.c
418
Bram Moolenaar071d4272004-06-13 20:20:40 +0000419obj/quickfix.o: quickfix.c
420 $(CCSYM) $@ quickfix.c
421
422obj/regexp.o: regexp.c
423 $(CCSYM) $@ regexp.c
424
425obj/screen.o: screen.c
426 $(CCSYM) $@ screen.c
427
428obj/search.o: search.c
429 $(CCSYM) $@ search.c
430
Bram Moolenaaredac1852010-05-18 20:34:20 +0200431obj/sha256.o: sha256.c
432 $(CCSYM) $@ sha256.c
433
Bram Moolenaarbbea4702019-01-01 13:20:31 +0100434obj/sign.o: sign.c
435 $(CCSYM) $@ sign.c
436
Bram Moolenaar60c78922005-03-20 22:40:14 +0000437obj/spell.o: spell.c
438 $(CCSYM) $@ spell.c
439
Bram Moolenaar9ccfebd2016-07-19 16:39:08 +0200440obj/spellfile.o: spellfile.c
441 $(CCSYM) $@ spellfile.c
442
Bram Moolenaar071d4272004-06-13 20:20:40 +0000443obj/syntax.o: syntax.c
444 $(CCSYM) $@ syntax.c
445
446obj/tag.o: tag.c
447 $(CCSYM) $@ tag.c
448
449obj/term.o: term.c term.h
450 $(CCSYM) $@ term.c
451
452obj/termlib.o: termlib.c
453 $(CCSYM) $@ termlib.c
454
455obj/ui.o: ui.c
456 $(CCSYM) $@ ui.c
457
458obj/undo.o: undo.c
459 $(CCSYM) $@ undo.c
460
Bram Moolenaarac9fb182019-04-27 13:04:13 +0200461obj/usercmd.o: usercmd.c
462 $(CCSYM) $@ usercmd.c
463
Bram Moolenaar6583c442016-07-17 18:41:47 +0200464obj/userfunc.o: userfunc.c
465 $(CCSYM) $@ userfunc.c
466
Bram Moolenaar071d4272004-06-13 20:20:40 +0000467obj/window.o: window.c
468 $(CCSYM) $@ window.c