#
# 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