#
# Makefile for VIM on MSDOS, using Turbo C
#

#>>>>> choose options:
### -DDIGRAPHS		digraph support (at the cost of 1.6 Kbyte code)
### -DCOMPATIBLE	start in vi-compatible mode
### -DNOBACKUP		default is no backup file
### -DDEBUG		output a lot of debugging garbage
### -DTERMCAP		include termcap file support
### -DNO_BUILTIN_TCAPS	do not include builtin termcap entries
###				(use only with -DTERMCAP)
### -DSOME_BUILTIN_TCAPS include most useful builtin termcap entries
###				(use only without -DNO_BUILTIN_TCAPS)
### -DALL_BUILTIN_TCAPS	include all builtin termcap entries
###				(use only without -DNO_BUILTIN_TCAPS)
### -DVIMRC_FILE	name of the .vimrc file in current dir
### -DEXRC_FILE		name of the .exrc file in current dir
### -DSYSVIMRC_FILE	name of the global .vimrc file
### -DSYSEXRC_FILE	name of the global .exrc file
### -DDEFVIMRC_FILE	name of the system-wide .vimrc file
### -DVIM_HLP		name of the help file
DEFINES = -DDIGRAPHS

#>>>>> name of the compiler and linker, name of lib directory
CC = tcc
LINK = tlink
LIB = c:\turboc\lib

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

INCL = vim.h globals.h param.h keymap.h macros.h ascii.h term.h msdos.h
CFLAGS = -c -ml -DMSDOS $(DEFINES)

OBJ =	alloc.obj msdos.obj buffers.obj charset.obj cmdline.obj csearch.obj \
	digraph.obj edit.obj fileio.obj help.obj linefunc.obj main.obj mark.obj \
	message.obj misccmds.obj normal.obj ops.obj param.obj quickfix.obj \
	regexp.obj regsub.obj screen.obj script.obj search.obj storage.obj \
	tag.obj term.obj undo.obj

..\vim: $(OBJ) version.c
	$(CC) $(CFLAGS) version.c
	$(LINK) /c /m $(LIB)\C0l @vimresp,..\vim,..\vim,$(LIB)\emu $(LIB)\Cl

ctags:
	command /c ctags *.c *.h

clean:
	del $(OBJ) version.obj mkcmdtab.obj ..\vim mkcmdtab

addcr:	addcr.c
	$(CC) addcr.c
	command /c addcr.bat

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

alloc.obj:	alloc.c  $(INCL)
	$(CC) $(CFLAGS) alloc.c

msdos.obj:	msdos.c  $(INCL) msdos.h
	$(CC) $(CFLAGS) msdos.c

buffers.obj:	buffers.c  $(INCL)
	$(CC) $(CFLAGS) buffers.c

charset.obj:	charset.c  $(INCL)
	$(CC) $(CFLAGS) charset.c

cmdline.obj:	cmdline.c  $(INCL) cmdtab.h
	$(CC) $(CFLAGS) cmdline.c

csearch.obj:	csearch.c  $(INCL)
	$(CC) $(CFLAGS) csearch.c

digraph.obj:	digraph.c  $(INCL)
	$(CC) $(CFLAGS) digraph.c

edit.obj:	edit.c  $(INCL)
	$(CC) $(CFLAGS) edit.c

fileio.obj:	fileio.c  $(INCL)
	$(CC) $(CFLAGS) fileio.c

help.obj:	help.c  $(INCL)
	$(CC) $(CFLAGS) help.c

linefunc.obj:	linefunc.c  $(INCL)
	$(CC) $(CFLAGS) linefunc.c

main.obj:	main.c  $(INCL)
	$(CC) $(CFLAGS) main.c

mark.obj:	mark.c  $(INCL)
	$(CC) $(CFLAGS) mark.c

message.obj:	message.c  $(INCL)
	$(CC) $(CFLAGS) message.c

misccmds.obj:	misccmds.c  $(INCL)
	$(CC) $(CFLAGS) misccmds.c

normal.obj:	normal.c  $(INCL) ops.h
	$(CC) $(CFLAGS) normal.c

ops.obj:	ops.c  $(INCL) ops.h
	$(CC) $(CFLAGS) ops.c

param.obj:	param.c  $(INCL)
	$(CC) $(CFLAGS) param.c

quickfix.obj:	quickfix.c  $(INCL)
	$(CC) $(CFLAGS) quickfix.c

regexp.obj:	regexp.c  $(INCL)
	$(CC) $(CFLAGS) regexp.c

regsub.obj:	regsub.c  $(INCL)
	$(CC) $(CFLAGS) regsub.c

screen.obj:	screen.c  $(INCL)
	$(CC) $(CFLAGS) screen.c

script.obj:	script.c  $(INCL)
	$(CC) $(CFLAGS) script.c

search.obj:	search.c  $(INCL)
	$(CC) $(CFLAGS) search.c

storage.obj:	storage.c  $(INCL)
	$(CC) $(CFLAGS) storage.c

tag.obj:	tag.c  $(INCL)
	$(CC) $(CFLAGS) tag.c

term.obj:	term.c  $(INCL)
	$(CC) $(CFLAGS) term.c

undo.obj:	undo.c  $(INCL)
	$(CC) $(CFLAGS) undo.c

cmdtab.h: cmdtab.tab mkcmdtab.exe
	mkcmdtab cmdtab.tab cmdtab.h

mkcmdtab.exe: mkcmdtab.obj
	$(CC) -ml -omkcmdtab mkcmdtab.obj

mkcmdtab.obj: mkcmdtab.c
	$(CC) $(CFLAGS) mkcmdtab.c


syntax highlighted by Code2HTML, v. 0.9.1