blob: 6305cd381e79948460021c481764b9f36ce5342a [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#
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.
13DEFINES =
14
15#>>>>> if HAVE_TGETENT is defined obj/termlib.o has to be used
16#TERMLIB = obj/termlib.o
17TERMLIB =
18
19#>>>>> choose between debugging (-bs) or optimizing (-so)
20OPTIONS = -so
21#OPTIONS = -bs
22
23#>>>>> end of choices
24###########################################################################
25
26CFLAGS = $(OPTIONS) -wapruq -ps -qf -Iproto $(DEFINES) -DAMIGA
27
28LIBS = -lc16
29SYMS = vim.syms
30CC = cc
31LN = ln
32LNFLAGS = +q
33SHELL = csh
34REN = $(SHELL) -c mv -f
35DEL = $(SHELL) -c rm -f
36
Bram Moolenaaredac1852010-05-18 20:34:20 +020037SRC = blowfish.c \
38 buffer.c \
Bram Moolenaar071d4272004-06-13 20:20:40 +000039 charset.c \
Bram Moolenaar07cf3822014-08-10 16:31:50 +020040 crypt.c \
41 crypt_zip.c \
Bram Moolenaar071d4272004-06-13 20:20:40 +000042 diff.c \
43 digraph.c \
44 edit.c \
45 eval.c \
46 ex_cmds.c \
47 ex_cmds2.c \
48 ex_docmd.c \
49 ex_eval.c \
50 ex_getln.c \
51 fileio.c \
52 fold.c \
53 getchar.c \
Bram Moolenaar58d98232005-07-23 22:25:46 +000054 hardcopy.c \
Bram Moolenaarc01140a2006-03-24 22:21:52 +000055 hashtab.c \
Bram Moolenaar071d4272004-06-13 20:20:40 +000056 main.c \
57 mark.c \
58 memfile.c \
59 memline.c \
60 menu.c \
61 message.c \
62 misc1.c \
63 misc2.c \
64 move.c \
65 mbyte.c \
66 normal.c \
67 ops.c \
68 option.c \
69 os_amiga.c \
Bram Moolenaarc01140a2006-03-24 22:21:52 +000070 popupmnu.c \
Bram Moolenaar071d4272004-06-13 20:20:40 +000071 quickfix.c \
72 regexp.c \
73 screen.c \
74 search.c \
Bram Moolenaaredac1852010-05-18 20:34:20 +020075 sha256.c \
Bram Moolenaar60c78922005-03-20 22:40:14 +000076 spell.c \
Bram Moolenaar071d4272004-06-13 20:20:40 +000077 syntax.c \
78 tag.c \
79 term.c \
80 ui.c \
81 undo.c \
82 window.c \
83 version.c
84
85INCL = vim.h feature.h keymap.h macros.h ascii.h term.h structs.h os_amiga.h
86
Bram Moolenaaredac1852010-05-18 20:34:20 +020087OBJ = obj/blowfish.o \
88 obj/buffer.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +000089 obj/charset.o \
Bram Moolenaar07cf3822014-08-10 16:31:50 +020090 obj/crypt.o \
91 obj/crypt_zip.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +000092 obj/diff.o \
93 obj/digraph.o \
94 obj/edit.o \
95 obj/eval.o \
96 obj/ex_cmds.o \
97 obj/ex_cmds2.o \
98 obj/ex_docmd.o \
99 obj/ex_eval.o \
100 obj/ex_getln.o \
101 obj/fileio.o \
102 obj/fold.o \
103 obj/getchar.o \
Bram Moolenaar58d98232005-07-23 22:25:46 +0000104 obj/hardcopy.o \
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000105 obj/hashtab.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000106 obj/main.o \
107 obj/mark.o \
108 obj/memfile.o \
109 obj/memline.o \
110 obj/menu.o \
111 obj/message.o \
112 obj/misc1.o \
113 obj/misc2.o \
114 obj/move.o \
115 obj/mbyte.o \
116 obj/normal.o \
117 obj/ops.o \
118 obj/option.o \
119 obj/os_amiga.o \
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000120 obj/popupmnu.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000121 obj/quickfix.o \
122 obj/regexp.o \
123 obj/screen.o \
124 obj/search.o \
Bram Moolenaaredac1852010-05-18 20:34:20 +0200125 obj/sha256.o \
Bram Moolenaar60c78922005-03-20 22:40:14 +0000126 obj/spell.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000127 obj/syntax.o \
128 obj/tag.o \
129 obj/term.o \
130 obj/ui.o \
131 obj/undo.o \
132 obj/window.o \
133 $(TERMLIB)
134
Bram Moolenaar40e6a712010-05-16 22:32:54 +0200135PRO = proto/blowfish.pro \
136 proto/buffer.pro \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000137 proto/charset.pro \
Bram Moolenaar07cf3822014-08-10 16:31:50 +0200138 proto/crypt.pro \
139 proto/crypt_zip.pro \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000140 proto/diff.pro \
141 proto/digraph.pro \
142 proto/edit.pro \
143 proto/eval.pro \
144 proto/ex_cmds.pro \
145 proto/ex_cmds2.pro \
146 proto/ex_docmd.pro \
147 proto/ex_eval.pro \
148 proto/ex_getln.pro \
149 proto/fileio.pro \
150 proto/fold.pro \
151 proto/getchar.pro \
Bram Moolenaar58d98232005-07-23 22:25:46 +0000152 proto/hardcopy.pro \
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000153 proto/hashtab.pro \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000154 proto/main.pro \
155 proto/mark.pro \
156 proto/memfile.pro \
157 proto/memline.pro \
158 proto/menu.pro \
159 proto/message.pro \
160 proto/misc1.pro \
161 proto/misc2.pro \
162 proto/move.pro \
163 proto/mbyte.pro \
164 proto/normal.pro \
165 proto/ops.pro \
166 proto/option.pro \
167 proto/os_amiga.pro \
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000168 proto/popupmnu.pro \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000169 proto/quickfix.pro \
170 proto/regexp.pro \
171 proto/screen.pro \
172 proto/search.pro \
Bram Moolenaar40e6a712010-05-16 22:32:54 +0200173 proto/sha256.pro \
Bram Moolenaar60c78922005-03-20 22:40:14 +0000174 proto/spell.pro \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000175 proto/syntax.pro \
176 proto/tag.pro \
177 proto/term.pro \
178 proto/termlib.pro \
179 proto/ui.pro \
180 proto/undo.pro \
181 proto/window.pro
182
183all: Vim xxd/Xxd
184
185Vim: obj $(OBJ) version.c version.h
186 $(CC) $(CFLAGS) version.c -o obj/version.o
187 $(LN) $(LNFLAGS) -m -o Vim $(OBJ) obj/version.o $(LIBS)
188
189debug: obj $(OBJ) version.c version.h
190 $(CC) $(CFLAGS) version.c -o obj/version.o
191 $(LN) $(LNFLAGS) -m -g -o Vim $(OBJ) obj/version.o $(LIBS)
192
193xxd/Xxd: xxd/xxd.c
194 $(SHELL) -c cd xxd; make -f Make_amiga.mak; cd ..
195
196# Making prototypes with Manx has been removed, because it caused too many
197# problems.
198#proto: $(SYMS) $(PRO)
199
200obj:
201 makedir obj
202
203tags: $(SRC) $(INCL)
204 $(SHELL) -c ctags $(SRC) *.h
205
206# can't use delete here, too many file names
207clean:
208 $(DEL) $(OBJ) obj/version.o \
209 obj/termlib.o Vim $(SYMS) xxd/Xxd
210
211test:
212 $(SHELL) -c cd testdir; make -f Make_amiga.mak; cd ..
213
214$(SYMS): $(INCL) $(PRO)
215 $(CC) $(CFLAGS) -ho$(SYMS) vim.h
216
217###########################################################################
218
219# Unfortunately, Manx's make doesn't understand a .c.o rule, so each
220# compilation command has to be given explicitly.
221
222CCSYM = $(CC) $(CFLAGS) -hi$(SYMS) -o
223CCNOSYM = $(CC) $(CFLAGS) -o
224
225$(OBJ): $(SYMS)
226
Bram Moolenaaredac1852010-05-18 20:34:20 +0200227obj/blowfish.o: blowfish.c
228 $(CCSYM) $@ blowfish.c
229
Bram Moolenaar071d4272004-06-13 20:20:40 +0000230obj/buffer.o: buffer.c
231 $(CCSYM) $@ buffer.c
232
233obj/charset.o: charset.c
234 $(CCSYM) $@ charset.c
235
Bram Moolenaar07cf3822014-08-10 16:31:50 +0200236obj/crypt.o: crypt.c
237 $(CCSYM) $@ crypt.c
238
239obj/crypt_zip.o: crypt_zip.c
240 $(CCSYM) $@ crypt_zip.c
241
Bram Moolenaar071d4272004-06-13 20:20:40 +0000242obj/diff.o: diff.c
243 $(CCSYM) $@ diff.c
244
245obj/digraph.o: digraph.c
246 $(CCSYM) $@ digraph.c
247
248obj/edit.o: edit.c
249 $(CCSYM) $@ edit.c
250
251obj/eval.o: eval.c
252 $(CCSYM) $@ eval.c
253
254obj/ex_cmds.o: ex_cmds.c
255 $(CCSYM) $@ ex_cmds.c
256
257obj/ex_cmds2.o: ex_cmds2.c
258 $(CCSYM) $@ ex_cmds2.c
259
260# Don't use $(SYMS) here, because ex_docmd.c defines DO_DECLARE_EXCMD
261obj/ex_docmd.o: ex_docmd.c ex_cmds.h
262 $(CCNOSYM) $@ ex_docmd.c
263
264obj/ex_eval.o: ex_eval.c ex_cmds.h
265 $(CCSYM) $@ ex_eval.c
266
267obj/ex_getln.o: ex_getln.c
268 $(CCSYM) $@ ex_getln.c
269
270obj/fileio.o: fileio.c
271 $(CCSYM) $@ fileio.c
272
273obj/fold.o: fold.c
274 $(CCSYM) $@ fold.c
275
276obj/getchar.o: getchar.c
277 $(CCSYM) $@ getchar.c
278
Bram Moolenaar58d98232005-07-23 22:25:46 +0000279obj/hardcopy.o: hardcopy.c
280 $(CCSYM) $@ hardcopy.c
281
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000282obj/hashtab.o: hashtab.c
283 $(CCSYM) $@ hashtab.c
Bram Moolenaarce5e58e2005-01-19 22:24:34 +0000284
Bram Moolenaar071d4272004-06-13 20:20:40 +0000285# Don't use $(SYMS) here, because main.c defines EXTERN
286obj/main.o: main.c option.h globals.h
287 $(CCNOSYM) $@ main.c
288
289obj/mark.o: mark.c
290 $(CCSYM) $@ mark.c
291
292obj/memfile.o: memfile.c
293 $(CCSYM) $@ memfile.c
294
295obj/memline.o: memline.c
296 $(CCSYM) $@ memline.c
297
298obj/menu.o: menu.c
299 $(CCSYM) $@ menu.c
300
301# Don't use $(SYMS) here, because message.c defines MESSAGE_FILE
302obj/message.o: message.c
303 $(CCNOSYM) $@ message.c
304
305obj/misc1.o: misc1.c
306 $(CCSYM) $@ misc1.c
307
308obj/misc2.o: misc2.c
309 $(CCSYM) $@ misc2.c
310
311obj/move.o: move.c
312 $(CCSYM) $@ move.c
313
314obj/mbyte.o: mbyte.c
315 $(CCSYM) $@ mbyte.c
316
317obj/normal.o: normal.c
318 $(CCSYM) $@ normal.c
319
320obj/ops.o: ops.c
321 $(CCSYM) $@ ops.c
322
323# Don't use $(SYMS) here, because option.h defines variables here
324obj/option.o: option.c
325 $(CCNOSYM) $@ option.c
326
327obj/os_amiga.o: os_amiga.c
328 $(CCSYM) $@ os_amiga.c
329
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000330obj/popupmnu.o: popupmnu.c
331 $(CCSYM) $@ popupmnu.c
Bram Moolenaar1c7715d2005-10-03 22:02:18 +0000332
Bram Moolenaar071d4272004-06-13 20:20:40 +0000333obj/quickfix.o: quickfix.c
334 $(CCSYM) $@ quickfix.c
335
336obj/regexp.o: regexp.c
337 $(CCSYM) $@ regexp.c
338
339obj/screen.o: screen.c
340 $(CCSYM) $@ screen.c
341
342obj/search.o: search.c
343 $(CCSYM) $@ search.c
344
Bram Moolenaaredac1852010-05-18 20:34:20 +0200345obj/sha256.o: sha256.c
346 $(CCSYM) $@ sha256.c
347
Bram Moolenaar60c78922005-03-20 22:40:14 +0000348obj/spell.o: spell.c
349 $(CCSYM) $@ spell.c
350
Bram Moolenaar071d4272004-06-13 20:20:40 +0000351obj/syntax.o: syntax.c
352 $(CCSYM) $@ syntax.c
353
354obj/tag.o: tag.c
355 $(CCSYM) $@ tag.c
356
357obj/term.o: term.c term.h
358 $(CCSYM) $@ term.c
359
360obj/termlib.o: termlib.c
361 $(CCSYM) $@ termlib.c
362
363obj/ui.o: ui.c
364 $(CCSYM) $@ ui.c
365
366obj/undo.o: undo.c
367 $(CCSYM) $@ undo.c
368
369obj/window.o: window.c
370 $(CCSYM) $@ window.c