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
81 INCL
= vim.h feature.h keymap.h macros.h ascii.h term.h structs.h os_amiga.h
127 PRO
= proto
/buffer.pro \
173 Vim
: obj
$(OBJ
) version.c version.h
174 $(CC
) $(CFLAGS
) version.c
-o obj
/version.o
175 $(LN
) $(LNFLAGS
) -m
-o Vim
$(OBJ
) obj
/version.o
$(LIBS
)
177 debug
: obj
$(OBJ
) version.c version.h
178 $(CC
) $(CFLAGS
) version.c
-o obj
/version.o
179 $(LN
) $(LNFLAGS
) -m
-g
-o Vim
$(OBJ
) obj
/version.o
$(LIBS
)
182 $(SHELL
) -c cd xxd
; make
-f Make_amiga.mak
; cd ..
184 # Making prototypes with Manx has been removed, because it caused too many
186 #proto: $(SYMS) $(PRO)
192 $(SHELL
) -c ctags
$(SRC
) *.h
194 # can't use delete here, too many file names
196 $(DEL
) $(OBJ
) obj
/version.o \
197 obj
/termlib.o Vim
$(SYMS
) xxd
/Xxd
200 $(SHELL
) -c cd testdir
; make
-f Make_amiga.mak
; cd ..
202 $(SYMS
): $(INCL
) $(PRO
)
203 $(CC
) $(CFLAGS
) -ho
$(SYMS
) vim.h
205 ###########################################################################
207 # Unfortunately, Manx's make doesn't understand a .c.o rule, so each
208 # compilation command has to be given explicitly.
210 CCSYM
= $(CC
) $(CFLAGS
) -hi
$(SYMS
) -o
211 CCNOSYM
= $(CC
) $(CFLAGS
) -o
215 obj
/buffer.o
: buffer.c
218 obj
/charset.o
: charset.c
219 $(CCSYM
) $@ charset.c
224 obj
/digraph.o
: digraph.c
225 $(CCSYM
) $@ digraph.c
233 obj
/ex_cmds.o
: ex_cmds.c
234 $(CCSYM
) $@ ex_cmds.c
236 obj
/ex_cmds2.o
: ex_cmds2.c
237 $(CCSYM
) $@ ex_cmds2.c
239 # Don't use $(SYMS) here, because ex_docmd.c defines DO_DECLARE_EXCMD
240 obj
/ex_docmd.o
: ex_docmd.c ex_cmds.h
241 $(CCNOSYM
) $@ ex_docmd.c
243 obj
/ex_eval.o
: ex_eval.c ex_cmds.h
244 $(CCSYM
) $@ ex_eval.c
246 obj
/ex_getln.o
: ex_getln.c
247 $(CCSYM
) $@ ex_getln.c
249 obj
/fileio.o
: fileio.c
255 obj
/getchar.o
: getchar.c
256 $(CCSYM
) $@ getchar.c
258 obj
/hardcopy.o
: hardcopy.c
259 $(CCSYM
) $@ hardcopy.c
261 obj
/hashtab.o
: hashtab.c
262 $(CCSYM
) $@ hashtab.c
264 # Don't use $(SYMS) here, because main.c defines EXTERN
265 obj
/main.o
: main.c option.h globals.h
271 obj
/memfile.o
: memfile.c
272 $(CCSYM
) $@ memfile.c
274 obj
/memline.o
: memline.c
275 $(CCSYM
) $@ memline.c
280 # Don't use $(SYMS) here, because message.c defines MESSAGE_FILE
281 obj
/message.o
: message.c
282 $(CCNOSYM
) $@ message.c
296 obj
/normal.o
: normal.c
302 # Don't use $(SYMS) here, because option.h defines variables here
303 obj
/option.o
: option.c
304 $(CCNOSYM
) $@ option.c
306 obj
/os_amiga.o
: os_amiga.c
307 $(CCSYM
) $@ os_amiga.c
309 obj
/popupmnu.o
: popupmnu.c
310 $(CCSYM
) $@ popupmnu.c
312 obj
/quickfix.o
: quickfix.c
313 $(CCSYM
) $@ quickfix.c
315 obj
/regexp.o
: regexp.c
318 obj
/screen.o
: screen.c
321 obj
/search.o
: search.c
327 obj
/syntax.o
: syntax.c
333 obj
/term.o
: term.c term.h
336 obj
/termlib.o
: termlib.c
337 $(CCSYM
) $@ termlib.c
345 obj
/window.o
: window.c