blob: 6995b7662e6b9a72fcb7807c97e5937cb0c78a20 [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 \
40 blowfish.c \
Bram Moolenaaredac1852010-05-18 20:34:20 +020041 buffer.c \
Bram Moolenaar071d4272004-06-13 20:20:40 +000042 charset.c \
Bram Moolenaar07cf3822014-08-10 16:31:50 +020043 crypt.c \
44 crypt_zip.c \
Bram Moolenaar6583c442016-07-17 18:41:47 +020045 dict.c \
Bram Moolenaar071d4272004-06-13 20:20:40 +000046 diff.c \
47 digraph.c \
48 edit.c \
49 eval.c \
Bram Moolenaar73dad1e2016-07-17 22:13:49 +020050 evalfunc.c \
Bram Moolenaar071d4272004-06-13 20:20:40 +000051 ex_cmds.c \
52 ex_cmds2.c \
53 ex_docmd.c \
54 ex_eval.c \
55 ex_getln.c \
Bram Moolenaar75464dc2016-07-02 20:27:50 +020056 farsi.c \
Bram Moolenaar071d4272004-06-13 20:20:40 +000057 fileio.c \
58 fold.c \
59 getchar.c \
Bram Moolenaar58d98232005-07-23 22:25:46 +000060 hardcopy.c \
Bram Moolenaarc01140a2006-03-24 22:21:52 +000061 hashtab.c \
Bram Moolenaar520e1e42016-01-23 19:46:28 +010062 json.c \
Bram Moolenaar6583c442016-07-17 18:41:47 +020063 list.c \
Bram Moolenaar071d4272004-06-13 20:20:40 +000064 main.c \
65 mark.c \
66 memfile.c \
67 memline.c \
68 menu.c \
69 message.c \
70 misc1.c \
71 misc2.c \
72 move.c \
73 mbyte.c \
74 normal.c \
75 ops.c \
76 option.c \
77 os_amiga.c \
Bram Moolenaarc01140a2006-03-24 22:21:52 +000078 popupmnu.c \
Bram Moolenaar071d4272004-06-13 20:20:40 +000079 quickfix.c \
80 regexp.c \
81 screen.c \
82 search.c \
Bram Moolenaaredac1852010-05-18 20:34:20 +020083 sha256.c \
Bram Moolenaar60c78922005-03-20 22:40:14 +000084 spell.c \
Bram Moolenaar9ccfebd2016-07-19 16:39:08 +020085 spellfile.c \
Bram Moolenaar071d4272004-06-13 20:20:40 +000086 syntax.c \
87 tag.c \
88 term.c \
89 ui.c \
90 undo.c \
Bram Moolenaar6583c442016-07-17 18:41:47 +020091 userfunc.c \
Bram Moolenaar071d4272004-06-13 20:20:40 +000092 window.c \
93 version.c
94
95INCL = vim.h feature.h keymap.h macros.h ascii.h term.h structs.h os_amiga.h
96
Bram Moolenaar75464dc2016-07-02 20:27:50 +020097OBJ = obj/arabic.o \
98 obj/blowfish.o \
Bram Moolenaaredac1852010-05-18 20:34:20 +020099 obj/buffer.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000100 obj/charset.o \
Bram Moolenaar07cf3822014-08-10 16:31:50 +0200101 obj/crypt.o \
102 obj/crypt_zip.o \
Bram Moolenaar6583c442016-07-17 18:41:47 +0200103 obj/dict.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000104 obj/diff.o \
105 obj/digraph.o \
106 obj/edit.o \
107 obj/eval.o \
Bram Moolenaar73dad1e2016-07-17 22:13:49 +0200108 obj/evalfunc.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000109 obj/ex_cmds.o \
110 obj/ex_cmds2.o \
111 obj/ex_docmd.o \
112 obj/ex_eval.o \
113 obj/ex_getln.o \
Bram Moolenaar75464dc2016-07-02 20:27:50 +0200114 obj/farsi.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000115 obj/fileio.o \
116 obj/fold.o \
117 obj/getchar.o \
Bram Moolenaar58d98232005-07-23 22:25:46 +0000118 obj/hardcopy.o \
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000119 obj/hashtab.o \
Bram Moolenaar520e1e42016-01-23 19:46:28 +0100120 obj/json.o \
Bram Moolenaar6583c442016-07-17 18:41:47 +0200121 obj/list.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000122 obj/main.o \
123 obj/mark.o \
124 obj/memfile.o \
125 obj/memline.o \
126 obj/menu.o \
127 obj/message.o \
128 obj/misc1.o \
129 obj/misc2.o \
130 obj/move.o \
131 obj/mbyte.o \
132 obj/normal.o \
133 obj/ops.o \
134 obj/option.o \
135 obj/os_amiga.o \
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000136 obj/popupmnu.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000137 obj/quickfix.o \
138 obj/regexp.o \
139 obj/screen.o \
140 obj/search.o \
Bram Moolenaaredac1852010-05-18 20:34:20 +0200141 obj/sha256.o \
Bram Moolenaar60c78922005-03-20 22:40:14 +0000142 obj/spell.o \
Bram Moolenaar9ccfebd2016-07-19 16:39:08 +0200143 obj/spellfile.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000144 obj/syntax.o \
145 obj/tag.o \
146 obj/term.o \
147 obj/ui.o \
148 obj/undo.o \
Bram Moolenaar6583c442016-07-17 18:41:47 +0200149 obj/userfunc.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000150 obj/window.o \
151 $(TERMLIB)
152
Bram Moolenaar75464dc2016-07-02 20:27:50 +0200153PRO = proto/arabic.pro \
154 proto/blowfish.pro \
Bram Moolenaar40e6a712010-05-16 22:32:54 +0200155 proto/buffer.pro \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000156 proto/charset.pro \
Bram Moolenaar07cf3822014-08-10 16:31:50 +0200157 proto/crypt.pro \
158 proto/crypt_zip.pro \
Bram Moolenaar6583c442016-07-17 18:41:47 +0200159 proto/dict.pro \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000160 proto/diff.pro \
161 proto/digraph.pro \
162 proto/edit.pro \
163 proto/eval.pro \
Bram Moolenaar73dad1e2016-07-17 22:13:49 +0200164 proto/evalfunc.pro \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000165 proto/ex_cmds.pro \
166 proto/ex_cmds2.pro \
167 proto/ex_docmd.pro \
168 proto/ex_eval.pro \
169 proto/ex_getln.pro \
Bram Moolenaar75464dc2016-07-02 20:27:50 +0200170 proto/farsi.pro \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000171 proto/fileio.pro \
172 proto/fold.pro \
173 proto/getchar.pro \
Bram Moolenaar58d98232005-07-23 22:25:46 +0000174 proto/hardcopy.pro \
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000175 proto/hashtab.pro \
Bram Moolenaar520e1e42016-01-23 19:46:28 +0100176 proto/json.pro \
Bram Moolenaar6583c442016-07-17 18:41:47 +0200177 proto/list.pro \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000178 proto/main.pro \
179 proto/mark.pro \
180 proto/memfile.pro \
181 proto/memline.pro \
182 proto/menu.pro \
183 proto/message.pro \
184 proto/misc1.pro \
185 proto/misc2.pro \
186 proto/move.pro \
187 proto/mbyte.pro \
188 proto/normal.pro \
189 proto/ops.pro \
190 proto/option.pro \
191 proto/os_amiga.pro \
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000192 proto/popupmnu.pro \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000193 proto/quickfix.pro \
194 proto/regexp.pro \
195 proto/screen.pro \
196 proto/search.pro \
Bram Moolenaar40e6a712010-05-16 22:32:54 +0200197 proto/sha256.pro \
Bram Moolenaar60c78922005-03-20 22:40:14 +0000198 proto/spell.pro \
Bram Moolenaar9ccfebd2016-07-19 16:39:08 +0200199 proto/spellfile.pro \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000200 proto/syntax.pro \
201 proto/tag.pro \
202 proto/term.pro \
203 proto/termlib.pro \
204 proto/ui.pro \
205 proto/undo.pro \
Bram Moolenaar6583c442016-07-17 18:41:47 +0200206 proto/userfunc.pro \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000207 proto/window.pro
208
209all: Vim xxd/Xxd
210
211Vim: obj $(OBJ) version.c version.h
212 $(CC) $(CFLAGS) version.c -o obj/version.o
213 $(LN) $(LNFLAGS) -m -o Vim $(OBJ) obj/version.o $(LIBS)
214
215debug: obj $(OBJ) version.c version.h
216 $(CC) $(CFLAGS) version.c -o obj/version.o
217 $(LN) $(LNFLAGS) -m -g -o Vim $(OBJ) obj/version.o $(LIBS)
218
219xxd/Xxd: xxd/xxd.c
220 $(SHELL) -c cd xxd; make -f Make_amiga.mak; cd ..
221
222# Making prototypes with Manx has been removed, because it caused too many
223# problems.
224#proto: $(SYMS) $(PRO)
225
226obj:
227 makedir obj
228
229tags: $(SRC) $(INCL)
230 $(SHELL) -c ctags $(SRC) *.h
231
232# can't use delete here, too many file names
233clean:
234 $(DEL) $(OBJ) obj/version.o \
235 obj/termlib.o Vim $(SYMS) xxd/Xxd
236
237test:
238 $(SHELL) -c cd testdir; make -f Make_amiga.mak; cd ..
239
240$(SYMS): $(INCL) $(PRO)
241 $(CC) $(CFLAGS) -ho$(SYMS) vim.h
242
243###########################################################################
244
245# Unfortunately, Manx's make doesn't understand a .c.o rule, so each
246# compilation command has to be given explicitly.
247
248CCSYM = $(CC) $(CFLAGS) -hi$(SYMS) -o
249CCNOSYM = $(CC) $(CFLAGS) -o
250
251$(OBJ): $(SYMS)
252
Bram Moolenaar75464dc2016-07-02 20:27:50 +0200253obj/arabic.o: arabic.c
254 $(CCSYM) $@ arabic.c
255
Bram Moolenaaredac1852010-05-18 20:34:20 +0200256obj/blowfish.o: blowfish.c
257 $(CCSYM) $@ blowfish.c
258
Bram Moolenaar071d4272004-06-13 20:20:40 +0000259obj/buffer.o: buffer.c
260 $(CCSYM) $@ buffer.c
261
262obj/charset.o: charset.c
263 $(CCSYM) $@ charset.c
264
Bram Moolenaar07cf3822014-08-10 16:31:50 +0200265obj/crypt.o: crypt.c
266 $(CCSYM) $@ crypt.c
267
268obj/crypt_zip.o: crypt_zip.c
269 $(CCSYM) $@ crypt_zip.c
270
Bram Moolenaar6583c442016-07-17 18:41:47 +0200271obj/dict.o: dict.c
272 $(CCSYM) $@ dict.c
273
Bram Moolenaar071d4272004-06-13 20:20:40 +0000274obj/diff.o: diff.c
275 $(CCSYM) $@ diff.c
276
277obj/digraph.o: digraph.c
278 $(CCSYM) $@ digraph.c
279
280obj/edit.o: edit.c
281 $(CCSYM) $@ edit.c
282
283obj/eval.o: eval.c
284 $(CCSYM) $@ eval.c
285
Bram Moolenaar73dad1e2016-07-17 22:13:49 +0200286obj/evalfunc.o: evalfunc.c
287 $(CCSYM) $@ evalfunc.c
288
Bram Moolenaar071d4272004-06-13 20:20:40 +0000289obj/ex_cmds.o: ex_cmds.c
290 $(CCSYM) $@ ex_cmds.c
291
292obj/ex_cmds2.o: ex_cmds2.c
293 $(CCSYM) $@ ex_cmds2.c
294
295# Don't use $(SYMS) here, because ex_docmd.c defines DO_DECLARE_EXCMD
296obj/ex_docmd.o: ex_docmd.c ex_cmds.h
297 $(CCNOSYM) $@ ex_docmd.c
298
299obj/ex_eval.o: ex_eval.c ex_cmds.h
300 $(CCSYM) $@ ex_eval.c
301
302obj/ex_getln.o: ex_getln.c
303 $(CCSYM) $@ ex_getln.c
304
Bram Moolenaar75464dc2016-07-02 20:27:50 +0200305obj/farsi.o: farsi.c
306 $(CCSYM) $@ farsi.c
307
Bram Moolenaar071d4272004-06-13 20:20:40 +0000308obj/fileio.o: fileio.c
309 $(CCSYM) $@ fileio.c
310
311obj/fold.o: fold.c
312 $(CCSYM) $@ fold.c
313
314obj/getchar.o: getchar.c
315 $(CCSYM) $@ getchar.c
316
Bram Moolenaar58d98232005-07-23 22:25:46 +0000317obj/hardcopy.o: hardcopy.c
318 $(CCSYM) $@ hardcopy.c
319
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000320obj/hashtab.o: hashtab.c
321 $(CCSYM) $@ hashtab.c
Bram Moolenaarce5e58e2005-01-19 22:24:34 +0000322
Bram Moolenaar520e1e42016-01-23 19:46:28 +0100323obj/json.o: json.c
324 $(CCSYM) $@ json.c
325
Bram Moolenaar6583c442016-07-17 18:41:47 +0200326obj/list.o: list.c
327 $(CCSYM) $@ list.c
328
Bram Moolenaar071d4272004-06-13 20:20:40 +0000329# Don't use $(SYMS) here, because main.c defines EXTERN
330obj/main.o: main.c option.h globals.h
331 $(CCNOSYM) $@ main.c
332
333obj/mark.o: mark.c
334 $(CCSYM) $@ mark.c
335
336obj/memfile.o: memfile.c
337 $(CCSYM) $@ memfile.c
338
339obj/memline.o: memline.c
340 $(CCSYM) $@ memline.c
341
342obj/menu.o: menu.c
343 $(CCSYM) $@ menu.c
344
345# Don't use $(SYMS) here, because message.c defines MESSAGE_FILE
346obj/message.o: message.c
347 $(CCNOSYM) $@ message.c
348
349obj/misc1.o: misc1.c
350 $(CCSYM) $@ misc1.c
351
352obj/misc2.o: misc2.c
353 $(CCSYM) $@ misc2.c
354
355obj/move.o: move.c
356 $(CCSYM) $@ move.c
357
358obj/mbyte.o: mbyte.c
359 $(CCSYM) $@ mbyte.c
360
361obj/normal.o: normal.c
362 $(CCSYM) $@ normal.c
363
364obj/ops.o: ops.c
365 $(CCSYM) $@ ops.c
366
367# Don't use $(SYMS) here, because option.h defines variables here
368obj/option.o: option.c
369 $(CCNOSYM) $@ option.c
370
371obj/os_amiga.o: os_amiga.c
372 $(CCSYM) $@ os_amiga.c
373
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000374obj/popupmnu.o: popupmnu.c
375 $(CCSYM) $@ popupmnu.c
Bram Moolenaar1c7715d2005-10-03 22:02:18 +0000376
Bram Moolenaar071d4272004-06-13 20:20:40 +0000377obj/quickfix.o: quickfix.c
378 $(CCSYM) $@ quickfix.c
379
380obj/regexp.o: regexp.c
381 $(CCSYM) $@ regexp.c
382
383obj/screen.o: screen.c
384 $(CCSYM) $@ screen.c
385
386obj/search.o: search.c
387 $(CCSYM) $@ search.c
388
Bram Moolenaaredac1852010-05-18 20:34:20 +0200389obj/sha256.o: sha256.c
390 $(CCSYM) $@ sha256.c
391
Bram Moolenaar60c78922005-03-20 22:40:14 +0000392obj/spell.o: spell.c
393 $(CCSYM) $@ spell.c
394
Bram Moolenaar9ccfebd2016-07-19 16:39:08 +0200395obj/spellfile.o: spellfile.c
396 $(CCSYM) $@ spellfile.c
397
Bram Moolenaar071d4272004-06-13 20:20:40 +0000398obj/syntax.o: syntax.c
399 $(CCSYM) $@ syntax.c
400
401obj/tag.o: tag.c
402 $(CCSYM) $@ tag.c
403
404obj/term.o: term.c term.h
405 $(CCSYM) $@ term.c
406
407obj/termlib.o: termlib.c
408 $(CCSYM) $@ termlib.c
409
410obj/ui.o: ui.c
411 $(CCSYM) $@ ui.c
412
413obj/undo.o: undo.c
414 $(CCSYM) $@ undo.c
415
Bram Moolenaar6583c442016-07-17 18:41:47 +0200416obj/userfunc.o: userfunc.c
417 $(CCSYM) $@ userfunc.c
418
Bram Moolenaar071d4272004-06-13 20:20:40 +0000419obj/window.o: window.c
420 $(CCSYM) $@ window.c