#
# Makefile for VIM on the BeBox, using DICE 3
#

#>>>>> choose options:
### See feature.h for a list of optionals.
### Any other defines can be included here.
DEFINES = -DALL_BUILTIN_TCAPS
# Only use optimisation if you have lots of time and/or lots of memory.
# With 16M it thrashes like it's a top without safeword.
OPTIM = -O7


#>>>>> end of choices
###########################################################################

CFLAGS = -c $(OPTIM) -DBEBOX -DUNIX $(DEFINES)

LIBS = -ltermcap
CC = mwcc
LD = mwcc

.c.o:
	${CC} $< -o $@ ${CFLAGS}

SRC =	buffer.c \
	charset.c \
	digraph.c \
	edit.c \
	eval.c \
	ex_cmds.c \
	ex_docmd.c \
	ex_getln.c \
	fileio.c \
	getchar.c \
	main.c \
	mark.c \
	memfile.c \
	memline.c \
	message.c \
	misc1.c \
	misc2.c \
	normal.c \
	ops.c \
	option.c \
	os_bebox.c \
	quickfix.c \
	regexp.c \
	screen.c \
	search.c \
	syntax.c \
	tag.c \
	term.c \
	ui.c \
	undo.c \
	os_unix.c \
	window.c \
	version.c

OBJ =	buffer.o \
	charset.o \
	digraph.o \
	edit.o \
	eval.o \
	ex_cmds.o \
	ex_docmd.o \
	ex_getln.o \
	fileio.o \
	getchar.o \
	main.o \
	mark.o \
	memfile.o \
	memline.o \
	message.o \
	misc1.o \
	misc2.o \
	normal.o \
	ops.o \
	option.o \
	os_bebox.o \
	os_bebox_pdf.o \
	quickfix.o \
	regexp.o \
	screen.o \
	search.o \
	syntax.o \
	tag.o \
	term.o \
	ui.o \
	os_unix.o \
	undo.o \
	window.o

Vim: $(OBJ) version.c version.h
	${CC} $(CFLAGS) version.c -o version.o
	${LD} -o Vim $(OBJ) version.o $(LIBS)

debug: $(OBJ) version.c version.h
	${CC} $(CFLAGS) version.c -o version.o
	${LD} -s -o Vim $(OBJ) version.o $(LIBS)

osdef.h: osdef1.h.in osdef2.h.in osdef.sh
#	CC=mwcc osdef.sh
	echo "" >osdef.h

ctags:
	csh -c ctags $(SRC) *.h

clean:
	delete *.o Vim mkcmdtab ex_cmds.h

$(OBJ):	osdef.h os_bebox_cfg.h


###########################################################################

buffer.o:	buffer.c

charset.o:	charset.c

digraph.o:	digraph.c

edit.o:		edit.c

eval.o:		eval.c

ex_cmds.o:	ex_cmds.c ex_cmds.h

ex_docmd.o:	ex_docmd.c ex_docmd.h ex_cmds.h

ex_getln.o:	ex_getln.c

fileio.o:	fileio.c

getchar.o:	getchar.c

main.o:		main.c

mark.o:		mark.c

memfile.o:	memfile.c

memline.o:	memline.c

message.o:	message.c

misc1.o:	misc1.c

misc2.o:	misc2.c

normal.o:	normal.c

ops.o:		ops.c

option.o:	option.c

os_bebox.o:	os_bebox.c os_bebox.h

quickfix.o:	quickfix.c

regexp.o:	regexp.c regexp.h

screen.o:	screen.c

search.o:	search.c regexp.h

tables.o:	tables.c

syntax.o:	syntax.c

tag.o:		tag.c

term.o:		term.c term.h

ui.o:		ui.c

undo.o:		undo.c

window.o:	window.c

ex_cmds.h: ex_docmd.h mkcmdtab
	./mkcmdtab ex_docmd.h ex_cmds.h

mkcmdtab: mkcmdtab.o
	${LD} -o mkcmdtab mkcmdtab.o

mkcmdtab.o:	mkcmdtab.c
