#
# 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 = -DNO_BUILTIN_TCAPS -DTERMCAP -DJP=",SS" -DFEPCTRL
#>>>>> name of the compiler and linker, name of lib directory
# for Turbo C++
CC = tcc -f -O -G -Z -d
LIB = c:\turboc\lib
LINK = tlink
## for Borland C++
#CC = bcc -f -O -G -Z -d -w-pro
#LINK = tlink
#LIB = c:\borlandc\lib
#>>>>> end of choices
###########################################################################
INCL = vim.h globals.h param.h keymap.h macros.h ascii.h term.h msdos.h
CFLAGS = -c -ml -DDOSGEN $(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 \
	termlib.obj jp.obj jpfep.obj track.obj fepctrl.obj
GENOBJ = Gjp.obj Gregexp.obj version.obj
all:  jvim.exe jgrep.exe jcat.exe jfold.exe
jvim.exe: $(OBJ) version.c
	$(CC) $(CFLAGS) version.c
	$(LINK) /c /m $(LIB)\C0l @jvimresp,jvim,jvim,$(LIB)\Cl
jgrep.exe: jgrep.obj $(GENOBJ)
	$(CC) -ml $** $(LIB)\16bit\wildargs.obj
jcat.exe: jcat.obj $(GENOBJ)
	$(CC) -ml $** $(LIB)\16bit\wildargs.obj
jfold.exe: jfold.obj $(GENOBJ)
	$(CC) -ml $** $(LIB)\16bit\wildargs.obj
ctags:
	command /c ctags *.c *.h
clean:
	-del *.obj
	-del *.exe
	-del *.map
	-del cmdtab.h
	-del jptab.h
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
termlib.obj: termlib.c $(INCL)
	$(CC) $(CFLAGS) termlib.c
jp.obj: jp.c $(INCL) jptab.h
	$(CC) $(CFLAGS) jp.c
jpfep.obj: jpfep.c $(INCL)
	$(CC) $(CFLAGS) jpfep.c
jptab.h: jptab.obj
	$(CC) -ml -ojptab jptab.obj
	jptab > jptab.h
	-del jptab.exe
jptab.obj: jptab.c sjis2euc.exe
	sjis2euc < jptab.c > _jptab.c
	$(CC) $(CFLAGS) _jptab.c
	copy _jptab.obj jptab.obj
	-del _jptab.c
	-del _jptab.obj
track.obj: track.c $(INCL) jptab.h
	$(CC) $(CFLAGS) track.c
fepctrl.obj: fepctrl.c fepctrl.h
	$(CC) $(CFLAGS) fepctrl.c
sjis2euc.exe: sjis2euc.obj
	$(CC) -ml -osjis2euc sjis2euc.obj
sjis2euc.obj: sjis2euc.c
	$(CC) $(CFLAGS) sjis2euc.c
version.obj: version.c
	$(CC) $(CFLAGS) version.c
Gjp.obj: jp.c jptab.h
	$(CC) @&&!
$(CFLAGS) -DGENERAL -oGjp.obj jp.c
!
Gregexp.obj: regexp.c
	$(CC) @&&!
$(CFLAGS) -DGENERAL -DEMPTY_RE -oGregexp.obj regexp.c
!
jgrep.obj: jgrep.c
	$(CC) $(CFLAGS) jgrep.c
jcat.obj: jcat.c
	$(CC) $(CFLAGS) jcat.c
jfold.obj: jfold.c
	$(CC) $(CFLAGS) jfold.c
syntax highlighted by Code2HTML, v. 0.9.1