mirror of
https://github.com/vim/vim
synced 2025-04-30 05:17:45 +02:00
340 lines
6.1 KiB
Makefile
340 lines
6.1 KiB
Makefile
#
|
|
# Makefile for VIM on the Amiga, using Aztec/Manx C 5.0 or later
|
|
#
|
|
# Note: Not all dependencies are included. This was done to avoid having
|
|
# to compile everything when a global variable or function is added.
|
|
# Careful when changing a global struct or variable!
|
|
#
|
|
|
|
#>>>>> choose options:
|
|
|
|
### See feature.h for a list of optionals.
|
|
### Any other defines can be included here.
|
|
DEFINES =
|
|
|
|
#>>>>> if HAVE_TGETENT is defined obj/termlib.o has to be used
|
|
#TERMLIB = obj/termlib.o
|
|
TERMLIB =
|
|
|
|
#>>>>> choose between debugging (-bs) or optimizing (-so)
|
|
OPTIONS = -so
|
|
#OPTIONS = -bs
|
|
|
|
#>>>>> end of choices
|
|
###########################################################################
|
|
|
|
CFLAGS = $(OPTIONS) -wapruq -ps -qf -Iproto $(DEFINES) -DAMIGA
|
|
|
|
LIBS = -lc16
|
|
SYMS = vim.syms
|
|
CC = cc
|
|
LN = ln
|
|
LNFLAGS = +q
|
|
SHELL = csh
|
|
REN = $(SHELL) -c mv -f
|
|
DEL = $(SHELL) -c rm -f
|
|
|
|
SRC = buffer.c \
|
|
charset.c \
|
|
diff.c \
|
|
digraph.c \
|
|
edit.c \
|
|
eval.c \
|
|
ex_cmds.c \
|
|
ex_cmds2.c \
|
|
ex_docmd.c \
|
|
ex_eval.c \
|
|
ex_getln.c \
|
|
fileio.c \
|
|
fold.c \
|
|
getchar.c \
|
|
hardcopy.c \
|
|
hashtable.c \
|
|
main.c \
|
|
mark.c \
|
|
memfile.c \
|
|
memline.c \
|
|
menu.c \
|
|
message.c \
|
|
misc1.c \
|
|
misc2.c \
|
|
move.c \
|
|
mbyte.c \
|
|
normal.c \
|
|
ops.c \
|
|
option.c \
|
|
os_amiga.c \
|
|
quickfix.c \
|
|
regexp.c \
|
|
screen.c \
|
|
search.c \
|
|
spell.c \
|
|
syntax.c \
|
|
tag.c \
|
|
term.c \
|
|
ui.c \
|
|
undo.c \
|
|
window.c \
|
|
version.c
|
|
|
|
INCL = vim.h feature.h keymap.h macros.h ascii.h term.h structs.h os_amiga.h
|
|
|
|
OBJ = obj/buffer.o \
|
|
obj/charset.o \
|
|
obj/diff.o \
|
|
obj/digraph.o \
|
|
obj/edit.o \
|
|
obj/eval.o \
|
|
obj/ex_cmds.o \
|
|
obj/ex_cmds2.o \
|
|
obj/ex_docmd.o \
|
|
obj/ex_eval.o \
|
|
obj/ex_getln.o \
|
|
obj/fileio.o \
|
|
obj/fold.o \
|
|
obj/getchar.o \
|
|
obj/hardcopy.o \
|
|
obj/hashtable.o \
|
|
obj/main.o \
|
|
obj/mark.o \
|
|
obj/memfile.o \
|
|
obj/memline.o \
|
|
obj/menu.o \
|
|
obj/message.o \
|
|
obj/misc1.o \
|
|
obj/misc2.o \
|
|
obj/move.o \
|
|
obj/mbyte.o \
|
|
obj/normal.o \
|
|
obj/ops.o \
|
|
obj/option.o \
|
|
obj/os_amiga.o \
|
|
obj/quickfix.o \
|
|
obj/regexp.o \
|
|
obj/screen.o \
|
|
obj/search.o \
|
|
obj/spell.o \
|
|
obj/syntax.o \
|
|
obj/tag.o \
|
|
obj/term.o \
|
|
obj/ui.o \
|
|
obj/undo.o \
|
|
obj/window.o \
|
|
$(TERMLIB)
|
|
|
|
PRO = proto/buffer.pro \
|
|
proto/charset.pro \
|
|
proto/diff.pro \
|
|
proto/digraph.pro \
|
|
proto/edit.pro \
|
|
proto/eval.pro \
|
|
proto/ex_cmds.pro \
|
|
proto/ex_cmds2.pro \
|
|
proto/ex_docmd.pro \
|
|
proto/ex_eval.pro \
|
|
proto/ex_getln.pro \
|
|
proto/fileio.pro \
|
|
proto/fold.pro \
|
|
proto/getchar.pro \
|
|
proto/hardcopy.pro \
|
|
proto/hashtable.pro \
|
|
proto/main.pro \
|
|
proto/mark.pro \
|
|
proto/memfile.pro \
|
|
proto/memline.pro \
|
|
proto/menu.pro \
|
|
proto/message.pro \
|
|
proto/misc1.pro \
|
|
proto/misc2.pro \
|
|
proto/move.pro \
|
|
proto/mbyte.pro \
|
|
proto/normal.pro \
|
|
proto/ops.pro \
|
|
proto/option.pro \
|
|
proto/os_amiga.pro \
|
|
proto/quickfix.pro \
|
|
proto/regexp.pro \
|
|
proto/screen.pro \
|
|
proto/search.pro \
|
|
proto/spell.pro \
|
|
proto/syntax.pro \
|
|
proto/tag.pro \
|
|
proto/term.pro \
|
|
proto/termlib.pro \
|
|
proto/ui.pro \
|
|
proto/undo.pro \
|
|
proto/window.pro
|
|
|
|
all: Vim xxd/Xxd
|
|
|
|
Vim: obj $(OBJ) version.c version.h
|
|
$(CC) $(CFLAGS) version.c -o obj/version.o
|
|
$(LN) $(LNFLAGS) -m -o Vim $(OBJ) obj/version.o $(LIBS)
|
|
|
|
debug: obj $(OBJ) version.c version.h
|
|
$(CC) $(CFLAGS) version.c -o obj/version.o
|
|
$(LN) $(LNFLAGS) -m -g -o Vim $(OBJ) obj/version.o $(LIBS)
|
|
|
|
xxd/Xxd: xxd/xxd.c
|
|
$(SHELL) -c cd xxd; make -f Make_amiga.mak; cd ..
|
|
|
|
# Making prototypes with Manx has been removed, because it caused too many
|
|
# problems.
|
|
#proto: $(SYMS) $(PRO)
|
|
|
|
obj:
|
|
makedir obj
|
|
|
|
tags: $(SRC) $(INCL)
|
|
$(SHELL) -c ctags $(SRC) *.h
|
|
|
|
# can't use delete here, too many file names
|
|
clean:
|
|
$(DEL) $(OBJ) obj/version.o \
|
|
obj/termlib.o Vim $(SYMS) xxd/Xxd
|
|
|
|
test:
|
|
$(SHELL) -c cd testdir; make -f Make_amiga.mak; cd ..
|
|
|
|
$(SYMS): $(INCL) $(PRO)
|
|
$(CC) $(CFLAGS) -ho$(SYMS) vim.h
|
|
|
|
###########################################################################
|
|
|
|
# Unfortunately, Manx's make doesn't understand a .c.o rule, so each
|
|
# compilation command has to be given explicitly.
|
|
|
|
CCSYM = $(CC) $(CFLAGS) -hi$(SYMS) -o
|
|
CCNOSYM = $(CC) $(CFLAGS) -o
|
|
|
|
$(OBJ): $(SYMS)
|
|
|
|
obj/buffer.o: buffer.c
|
|
$(CCSYM) $@ buffer.c
|
|
|
|
obj/charset.o: charset.c
|
|
$(CCSYM) $@ charset.c
|
|
|
|
obj/diff.o: diff.c
|
|
$(CCSYM) $@ diff.c
|
|
|
|
obj/digraph.o: digraph.c
|
|
$(CCSYM) $@ digraph.c
|
|
|
|
obj/edit.o: edit.c
|
|
$(CCSYM) $@ edit.c
|
|
|
|
obj/eval.o: eval.c
|
|
$(CCSYM) $@ eval.c
|
|
|
|
obj/ex_cmds.o: ex_cmds.c
|
|
$(CCSYM) $@ ex_cmds.c
|
|
|
|
obj/ex_cmds2.o: ex_cmds2.c
|
|
$(CCSYM) $@ ex_cmds2.c
|
|
|
|
# Don't use $(SYMS) here, because ex_docmd.c defines DO_DECLARE_EXCMD
|
|
obj/ex_docmd.o: ex_docmd.c ex_cmds.h
|
|
$(CCNOSYM) $@ ex_docmd.c
|
|
|
|
obj/ex_eval.o: ex_eval.c ex_cmds.h
|
|
$(CCSYM) $@ ex_eval.c
|
|
|
|
obj/ex_getln.o: ex_getln.c
|
|
$(CCSYM) $@ ex_getln.c
|
|
|
|
obj/fileio.o: fileio.c
|
|
$(CCSYM) $@ fileio.c
|
|
|
|
obj/fold.o: fold.c
|
|
$(CCSYM) $@ fold.c
|
|
|
|
obj/getchar.o: getchar.c
|
|
$(CCSYM) $@ getchar.c
|
|
|
|
obj/hardcopy.o: hardcopy.c
|
|
$(CCSYM) $@ hardcopy.c
|
|
|
|
obj/hashtable.o: hashtable.c
|
|
$(CCSYM) $@ hashtable.c
|
|
|
|
# Don't use $(SYMS) here, because main.c defines EXTERN
|
|
obj/main.o: main.c option.h globals.h
|
|
$(CCNOSYM) $@ main.c
|
|
|
|
obj/mark.o: mark.c
|
|
$(CCSYM) $@ mark.c
|
|
|
|
obj/memfile.o: memfile.c
|
|
$(CCSYM) $@ memfile.c
|
|
|
|
obj/memline.o: memline.c
|
|
$(CCSYM) $@ memline.c
|
|
|
|
obj/menu.o: menu.c
|
|
$(CCSYM) $@ menu.c
|
|
|
|
# Don't use $(SYMS) here, because message.c defines MESSAGE_FILE
|
|
obj/message.o: message.c
|
|
$(CCNOSYM) $@ message.c
|
|
|
|
obj/misc1.o: misc1.c
|
|
$(CCSYM) $@ misc1.c
|
|
|
|
obj/misc2.o: misc2.c
|
|
$(CCSYM) $@ misc2.c
|
|
|
|
obj/move.o: move.c
|
|
$(CCSYM) $@ move.c
|
|
|
|
obj/mbyte.o: mbyte.c
|
|
$(CCSYM) $@ mbyte.c
|
|
|
|
obj/normal.o: normal.c
|
|
$(CCSYM) $@ normal.c
|
|
|
|
obj/ops.o: ops.c
|
|
$(CCSYM) $@ ops.c
|
|
|
|
# Don't use $(SYMS) here, because option.h defines variables here
|
|
obj/option.o: option.c
|
|
$(CCNOSYM) $@ option.c
|
|
|
|
obj/os_amiga.o: os_amiga.c
|
|
$(CCSYM) $@ os_amiga.c
|
|
|
|
obj/quickfix.o: quickfix.c
|
|
$(CCSYM) $@ quickfix.c
|
|
|
|
obj/regexp.o: regexp.c
|
|
$(CCSYM) $@ regexp.c
|
|
|
|
obj/screen.o: screen.c
|
|
$(CCSYM) $@ screen.c
|
|
|
|
obj/search.o: search.c
|
|
$(CCSYM) $@ search.c
|
|
|
|
obj/spell.o: spell.c
|
|
$(CCSYM) $@ spell.c
|
|
|
|
obj/syntax.o: syntax.c
|
|
$(CCSYM) $@ syntax.c
|
|
|
|
obj/tag.o: tag.c
|
|
$(CCSYM) $@ tag.c
|
|
|
|
obj/term.o: term.c term.h
|
|
$(CCSYM) $@ term.c
|
|
|
|
obj/termlib.o: termlib.c
|
|
$(CCSYM) $@ termlib.c
|
|
|
|
obj/ui.o: ui.c
|
|
$(CCSYM) $@ ui.c
|
|
|
|
obj/undo.o: undo.c
|
|
$(CCSYM) $@ undo.c
|
|
|
|
obj/window.o: window.c
|
|
$(CCSYM) $@ window.c
|