2 # Makefile for VIM on the Amiga, using Aztec/Manx C 5.0 or later
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!
11 ### See feature.h for a list of optionals.
12 ### Any other defines can be included here.
15 #>>>>> if HAVE_TGETENT is defined obj/termlib.o has to be used
16 #TERMLIB = obj/termlib.o
19 #>>>>> choose between debugging (-bs) or optimizing (-so)
24 ###########################################################################
26 CFLAGS = $(OPTIONS) -wapruq -ps -qf -Iproto $(DEFINES) -DAMIGA
34 REN = $(SHELL) -c mv -f
35 DEL = $(SHELL) -c rm -f
83 INCL = vim.h feature.h keymap.h macros.h ascii.h term.h structs.h os_amiga.h
85 OBJ = obj/blowfish.o \
131 PRO = proto/blowfish.pro \
179 Vim: obj $(OBJ) version.c version.h
180 $(CC) $(CFLAGS) version.c -o obj/version.o
181 $(LN) $(LNFLAGS) -m -o Vim $(OBJ) obj/version.o $(LIBS)
183 debug: obj $(OBJ) version.c version.h
184 $(CC) $(CFLAGS) version.c -o obj/version.o
185 $(LN) $(LNFLAGS) -m -g -o Vim $(OBJ) obj/version.o $(LIBS)
188 $(SHELL) -c cd xxd; make -f Make_amiga.mak; cd ..
190 # Making prototypes with Manx has been removed, because it caused too many
192 #proto: $(SYMS) $(PRO)
198 $(SHELL) -c ctags $(SRC) *.h
200 # can't use delete here, too many file names
202 $(DEL) $(OBJ) obj/version.o \
203 obj/termlib.o Vim $(SYMS) xxd/Xxd
206 $(SHELL) -c cd testdir; make -f Make_amiga.mak; cd ..
208 $(SYMS): $(INCL) $(PRO)
209 $(CC) $(CFLAGS) -ho$(SYMS) vim.h
211 ###########################################################################
213 # Unfortunately, Manx's make doesn't understand a .c.o rule, so each
214 # compilation command has to be given explicitly.
216 CCSYM = $(CC) $(CFLAGS) -hi$(SYMS) -o
217 CCNOSYM = $(CC) $(CFLAGS) -o
221 obj/blowfish.o: blowfish.c
222 $(CCSYM) $@ blowfish.c
224 obj/buffer.o: buffer.c
227 obj/charset.o: charset.c
228 $(CCSYM) $@ charset.c
233 obj/digraph.o: digraph.c
234 $(CCSYM) $@ digraph.c
242 obj/ex_cmds.o: ex_cmds.c
243 $(CCSYM) $@ ex_cmds.c
245 obj/ex_cmds2.o: ex_cmds2.c
246 $(CCSYM) $@ ex_cmds2.c
248 # Don't use $(SYMS) here, because ex_docmd.c defines DO_DECLARE_EXCMD
249 obj/ex_docmd.o: ex_docmd.c ex_cmds.h
250 $(CCNOSYM) $@ ex_docmd.c
252 obj/ex_eval.o: ex_eval.c ex_cmds.h
253 $(CCSYM) $@ ex_eval.c
255 obj/ex_getln.o: ex_getln.c
256 $(CCSYM) $@ ex_getln.c
258 obj/fileio.o: fileio.c
264 obj/getchar.o: getchar.c
265 $(CCSYM) $@ getchar.c
267 obj/hardcopy.o: hardcopy.c
268 $(CCSYM) $@ hardcopy.c
270 obj/hashtab.o: hashtab.c
271 $(CCSYM) $@ hashtab.c
273 # Don't use $(SYMS) here, because main.c defines EXTERN
274 obj/main.o: main.c option.h globals.h
280 obj/memfile.o: memfile.c
281 $(CCSYM) $@ memfile.c
283 obj/memline.o: memline.c
284 $(CCSYM) $@ memline.c
289 # Don't use $(SYMS) here, because message.c defines MESSAGE_FILE
290 obj/message.o: message.c
291 $(CCNOSYM) $@ message.c
305 obj/normal.o: normal.c
311 # Don't use $(SYMS) here, because option.h defines variables here
312 obj/option.o: option.c
313 $(CCNOSYM) $@ option.c
315 obj/os_amiga.o: os_amiga.c
316 $(CCSYM) $@ os_amiga.c
318 obj/popupmnu.o: popupmnu.c
319 $(CCSYM) $@ popupmnu.c
321 obj/quickfix.o: quickfix.c
322 $(CCSYM) $@ quickfix.c
324 obj/regexp.o: regexp.c
327 obj/screen.o: screen.c
330 obj/search.o: search.c
333 obj/sha256.o: sha256.c
339 obj/syntax.o: syntax.c
345 obj/term.o: term.c term.h
348 obj/termlib.o: termlib.c
349 $(CCSYM) $@ termlib.c
357 obj/window.o: window.c