blob: dd1311ac87a273e1d71bbe32bde3b7dbddd15b0e [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 Moolenaaredac1852010-05-18 20:34:20 +020039SRC = blowfish.c \
40 buffer.c \
Bram Moolenaar071d4272004-06-13 20:20:40 +000041 charset.c \
Bram Moolenaar07cf3822014-08-10 16:31:50 +020042 crypt.c \
43 crypt_zip.c \
Bram Moolenaar071d4272004-06-13 20:20:40 +000044 diff.c \
45 digraph.c \
46 edit.c \
47 eval.c \
48 ex_cmds.c \
49 ex_cmds2.c \
50 ex_docmd.c \
51 ex_eval.c \
52 ex_getln.c \
53 fileio.c \
54 fold.c \
55 getchar.c \
Bram Moolenaar58d98232005-07-23 22:25:46 +000056 hardcopy.c \
Bram Moolenaarc01140a2006-03-24 22:21:52 +000057 hashtab.c \
Bram Moolenaar071d4272004-06-13 20:20:40 +000058 main.c \
59 mark.c \
60 memfile.c \
61 memline.c \
62 menu.c \
63 message.c \
64 misc1.c \
65 misc2.c \
66 move.c \
67 mbyte.c \
68 normal.c \
69 ops.c \
70 option.c \
71 os_amiga.c \
Bram Moolenaarc01140a2006-03-24 22:21:52 +000072 popupmnu.c \
Bram Moolenaar071d4272004-06-13 20:20:40 +000073 quickfix.c \
74 regexp.c \
75 screen.c \
76 search.c \
Bram Moolenaaredac1852010-05-18 20:34:20 +020077 sha256.c \
Bram Moolenaar60c78922005-03-20 22:40:14 +000078 spell.c \
Bram Moolenaar071d4272004-06-13 20:20:40 +000079 syntax.c \
80 tag.c \
81 term.c \
82 ui.c \
83 undo.c \
84 window.c \
85 version.c
86
87INCL = vim.h feature.h keymap.h macros.h ascii.h term.h structs.h os_amiga.h
88
Bram Moolenaaredac1852010-05-18 20:34:20 +020089OBJ = obj/blowfish.o \
90 obj/buffer.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +000091 obj/charset.o \
Bram Moolenaar07cf3822014-08-10 16:31:50 +020092 obj/crypt.o \
93 obj/crypt_zip.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +000094 obj/diff.o \
95 obj/digraph.o \
96 obj/edit.o \
97 obj/eval.o \
98 obj/ex_cmds.o \
99 obj/ex_cmds2.o \
100 obj/ex_docmd.o \
101 obj/ex_eval.o \
102 obj/ex_getln.o \
103 obj/fileio.o \
104 obj/fold.o \
105 obj/getchar.o \
Bram Moolenaar58d98232005-07-23 22:25:46 +0000106 obj/hardcopy.o \
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000107 obj/hashtab.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000108 obj/main.o \
109 obj/mark.o \
110 obj/memfile.o \
111 obj/memline.o \
112 obj/menu.o \
113 obj/message.o \
114 obj/misc1.o \
115 obj/misc2.o \
116 obj/move.o \
117 obj/mbyte.o \
118 obj/normal.o \
119 obj/ops.o \
120 obj/option.o \
121 obj/os_amiga.o \
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000122 obj/popupmnu.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000123 obj/quickfix.o \
124 obj/regexp.o \
125 obj/screen.o \
126 obj/search.o \
Bram Moolenaaredac1852010-05-18 20:34:20 +0200127 obj/sha256.o \
Bram Moolenaar60c78922005-03-20 22:40:14 +0000128 obj/spell.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000129 obj/syntax.o \
130 obj/tag.o \
131 obj/term.o \
132 obj/ui.o \
133 obj/undo.o \
134 obj/window.o \
135 $(TERMLIB)
136
Bram Moolenaar40e6a712010-05-16 22:32:54 +0200137PRO = proto/blowfish.pro \
138 proto/buffer.pro \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000139 proto/charset.pro \
Bram Moolenaar07cf3822014-08-10 16:31:50 +0200140 proto/crypt.pro \
141 proto/crypt_zip.pro \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000142 proto/diff.pro \
143 proto/digraph.pro \
144 proto/edit.pro \
145 proto/eval.pro \
146 proto/ex_cmds.pro \
147 proto/ex_cmds2.pro \
148 proto/ex_docmd.pro \
149 proto/ex_eval.pro \
150 proto/ex_getln.pro \
151 proto/fileio.pro \
152 proto/fold.pro \
153 proto/getchar.pro \
Bram Moolenaar58d98232005-07-23 22:25:46 +0000154 proto/hardcopy.pro \
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000155 proto/hashtab.pro \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000156 proto/main.pro \
157 proto/mark.pro \
158 proto/memfile.pro \
159 proto/memline.pro \
160 proto/menu.pro \
161 proto/message.pro \
162 proto/misc1.pro \
163 proto/misc2.pro \
164 proto/move.pro \
165 proto/mbyte.pro \
166 proto/normal.pro \
167 proto/ops.pro \
168 proto/option.pro \
169 proto/os_amiga.pro \
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000170 proto/popupmnu.pro \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000171 proto/quickfix.pro \
172 proto/regexp.pro \
173 proto/screen.pro \
174 proto/search.pro \
Bram Moolenaar40e6a712010-05-16 22:32:54 +0200175 proto/sha256.pro \
Bram Moolenaar60c78922005-03-20 22:40:14 +0000176 proto/spell.pro \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000177 proto/syntax.pro \
178 proto/tag.pro \
179 proto/term.pro \
180 proto/termlib.pro \
181 proto/ui.pro \
182 proto/undo.pro \
183 proto/window.pro
184
185all: Vim xxd/Xxd
186
187Vim: obj $(OBJ) version.c version.h
188 $(CC) $(CFLAGS) version.c -o obj/version.o
189 $(LN) $(LNFLAGS) -m -o Vim $(OBJ) obj/version.o $(LIBS)
190
191debug: obj $(OBJ) version.c version.h
192 $(CC) $(CFLAGS) version.c -o obj/version.o
193 $(LN) $(LNFLAGS) -m -g -o Vim $(OBJ) obj/version.o $(LIBS)
194
195xxd/Xxd: xxd/xxd.c
196 $(SHELL) -c cd xxd; make -f Make_amiga.mak; cd ..
197
198# Making prototypes with Manx has been removed, because it caused too many
199# problems.
200#proto: $(SYMS) $(PRO)
201
202obj:
203 makedir obj
204
205tags: $(SRC) $(INCL)
206 $(SHELL) -c ctags $(SRC) *.h
207
208# can't use delete here, too many file names
209clean:
210 $(DEL) $(OBJ) obj/version.o \
211 obj/termlib.o Vim $(SYMS) xxd/Xxd
212
213test:
214 $(SHELL) -c cd testdir; make -f Make_amiga.mak; cd ..
215
216$(SYMS): $(INCL) $(PRO)
217 $(CC) $(CFLAGS) -ho$(SYMS) vim.h
218
219###########################################################################
220
221# Unfortunately, Manx's make doesn't understand a .c.o rule, so each
222# compilation command has to be given explicitly.
223
224CCSYM = $(CC) $(CFLAGS) -hi$(SYMS) -o
225CCNOSYM = $(CC) $(CFLAGS) -o
226
227$(OBJ): $(SYMS)
228
Bram Moolenaaredac1852010-05-18 20:34:20 +0200229obj/blowfish.o: blowfish.c
230 $(CCSYM) $@ blowfish.c
231
Bram Moolenaar071d4272004-06-13 20:20:40 +0000232obj/buffer.o: buffer.c
233 $(CCSYM) $@ buffer.c
234
235obj/charset.o: charset.c
236 $(CCSYM) $@ charset.c
237
Bram Moolenaar07cf3822014-08-10 16:31:50 +0200238obj/crypt.o: crypt.c
239 $(CCSYM) $@ crypt.c
240
241obj/crypt_zip.o: crypt_zip.c
242 $(CCSYM) $@ crypt_zip.c
243
Bram Moolenaar071d4272004-06-13 20:20:40 +0000244obj/diff.o: diff.c
245 $(CCSYM) $@ diff.c
246
247obj/digraph.o: digraph.c
248 $(CCSYM) $@ digraph.c
249
250obj/edit.o: edit.c
251 $(CCSYM) $@ edit.c
252
253obj/eval.o: eval.c
254 $(CCSYM) $@ eval.c
255
256obj/ex_cmds.o: ex_cmds.c
257 $(CCSYM) $@ ex_cmds.c
258
259obj/ex_cmds2.o: ex_cmds2.c
260 $(CCSYM) $@ ex_cmds2.c
261
262# Don't use $(SYMS) here, because ex_docmd.c defines DO_DECLARE_EXCMD
263obj/ex_docmd.o: ex_docmd.c ex_cmds.h
264 $(CCNOSYM) $@ ex_docmd.c
265
266obj/ex_eval.o: ex_eval.c ex_cmds.h
267 $(CCSYM) $@ ex_eval.c
268
269obj/ex_getln.o: ex_getln.c
270 $(CCSYM) $@ ex_getln.c
271
272obj/fileio.o: fileio.c
273 $(CCSYM) $@ fileio.c
274
275obj/fold.o: fold.c
276 $(CCSYM) $@ fold.c
277
278obj/getchar.o: getchar.c
279 $(CCSYM) $@ getchar.c
280
Bram Moolenaar58d98232005-07-23 22:25:46 +0000281obj/hardcopy.o: hardcopy.c
282 $(CCSYM) $@ hardcopy.c
283
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000284obj/hashtab.o: hashtab.c
285 $(CCSYM) $@ hashtab.c
Bram Moolenaarce5e58e2005-01-19 22:24:34 +0000286
Bram Moolenaar071d4272004-06-13 20:20:40 +0000287# Don't use $(SYMS) here, because main.c defines EXTERN
288obj/main.o: main.c option.h globals.h
289 $(CCNOSYM) $@ main.c
290
291obj/mark.o: mark.c
292 $(CCSYM) $@ mark.c
293
294obj/memfile.o: memfile.c
295 $(CCSYM) $@ memfile.c
296
297obj/memline.o: memline.c
298 $(CCSYM) $@ memline.c
299
300obj/menu.o: menu.c
301 $(CCSYM) $@ menu.c
302
303# Don't use $(SYMS) here, because message.c defines MESSAGE_FILE
304obj/message.o: message.c
305 $(CCNOSYM) $@ message.c
306
307obj/misc1.o: misc1.c
308 $(CCSYM) $@ misc1.c
309
310obj/misc2.o: misc2.c
311 $(CCSYM) $@ misc2.c
312
313obj/move.o: move.c
314 $(CCSYM) $@ move.c
315
316obj/mbyte.o: mbyte.c
317 $(CCSYM) $@ mbyte.c
318
319obj/normal.o: normal.c
320 $(CCSYM) $@ normal.c
321
322obj/ops.o: ops.c
323 $(CCSYM) $@ ops.c
324
325# Don't use $(SYMS) here, because option.h defines variables here
326obj/option.o: option.c
327 $(CCNOSYM) $@ option.c
328
329obj/os_amiga.o: os_amiga.c
330 $(CCSYM) $@ os_amiga.c
331
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000332obj/popupmnu.o: popupmnu.c
333 $(CCSYM) $@ popupmnu.c
Bram Moolenaar1c7715d2005-10-03 22:02:18 +0000334
Bram Moolenaar071d4272004-06-13 20:20:40 +0000335obj/quickfix.o: quickfix.c
336 $(CCSYM) $@ quickfix.c
337
338obj/regexp.o: regexp.c
339 $(CCSYM) $@ regexp.c
340
341obj/screen.o: screen.c
342 $(CCSYM) $@ screen.c
343
344obj/search.o: search.c
345 $(CCSYM) $@ search.c
346
Bram Moolenaaredac1852010-05-18 20:34:20 +0200347obj/sha256.o: sha256.c
348 $(CCSYM) $@ sha256.c
349
Bram Moolenaar60c78922005-03-20 22:40:14 +0000350obj/spell.o: spell.c
351 $(CCSYM) $@ spell.c
352
Bram Moolenaar071d4272004-06-13 20:20:40 +0000353obj/syntax.o: syntax.c
354 $(CCSYM) $@ syntax.c
355
356obj/tag.o: tag.c
357 $(CCSYM) $@ tag.c
358
359obj/term.o: term.c term.h
360 $(CCSYM) $@ term.c
361
362obj/termlib.o: termlib.c
363 $(CCSYM) $@ termlib.c
364
365obj/ui.o: ui.c
366 $(CCSYM) $@ ui.c
367
368obj/undo.o: undo.c
369 $(CCSYM) $@ undo.c
370
371obj/window.o: window.c
372 $(CCSYM) $@ window.c