#
# Makefile for BCC32 make
#
#
WIN32=1
!include <$(MAKEDIR)\builtins.mak>

optlibs= 

INCL = vim.h globals.h param.h keymap.h macros.h ascii.h term.h msdos.h
OBJ =	alloc.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 version.obj \
	jp.obj jpfep.obj track.obj winnt.obj fepnt.obj
GENOBJ = Gjp.obj Gregexp.obj version.obj

DEBUG	=	#/v
FEPCFLAG=	-c -O -WC -DWIN32 $(DEBUG)
DEFINES =	-DJP=\",SS\" -DFEPCTRL
CFLAGS	=	-c -O -WC -w-pro -DWIN32 -DMSDOS -DDOSGEN $(DEFINES) $(DEBUG)
LIB		=	\bc4\lib\32bit\wildargs.obj

link=tlink32
.c.obj:
	$(CC) @&&!
$(CFLAGS) /c $&.c
!

.c.exe:
	$(CC) @&&!
$(CFLAGS) $&.c
!

all:	jvim.exe jgrep.exe jcat.exe jfold.exe

# executables
jvim.exe:	$(OBJ)
	$(link) @&&!
/ap /c /s:2000 /Tpe $(DEBUG) c0x32.obj $(OBJ), jvim.exe,,cw32.lib import32.lib
!

jgrep.exe:	jgrep.obj $(GENOBJ)
	$(CC) $(DEBUG) $** $(LIB)

jcat.exe:	jcat.obj $(GENOBJ)
	$(CC) $(DEBUG) $** $(LIB)

jfold.exe:	jfold.obj $(GENOBJ)
	$(CC) $(DEBUG) $** $(LIB)

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

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

winnt.obj:	winnt.c  $(INCL) msdos.h
	$(CC) $(CFLAGS) winnt.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) -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) -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
	$(CC) $(CFLAGS) track.c

fepnt.obj: fepnt.c fepctrl.h
	$(CC) $(FEPCFLAG) fepnt.c

sjis2euc.exe: sjis2euc.obj
	$(CC) -osjis2euc sjis2euc.obj

sjis2euc.obj: sjis2euc.c
	$(CC) $(CFLAGS) sjis2euc.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
