# Makefile for less under DJGPP v2.0 or later.

#### Start of system configuration section. ####
# Shankar Chakkere 5/24/2001 modified for snprintf

srcdir = .
VPATH = .

ifdef DJDIR 
prefix = $(DJDIR)
else
prefix = /dev/env/DJDIR
endif

host = i386-pc-msdosdjgpp
exec_prefix = ${prefix}
bindir = ${exec_prefix}/bin

CC = gcc
CPP = gcc -E
INSTALL = /dev/env/DJDIR/bin/ginstall -c
INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL_PROGRAM}
INSTALL_DATA = ${INSTALL} -m 644
INSTALLDIR = ${exec_prefix}/bin
AWK = gawk

CFLAGS = -O2
CFLAGS_COMPILE_ONLY = -c
LDFLAGS = -s
O=o

LIBS = 

mandir = ${prefix}/man
manext = 1
manprefix = 

TARGET_LESS = less.exe
TARGET_LESSKEY = lesskey.exe
TARGET_LESSECHO = lessecho.exe


#### End of system configuration section. ####

# This rule allows us to supply the necessary -D options
# in addition to whatever the user asks for.
.c.o:
	${CC} -I. ${CFLAGS_COMPILE_ONLY} ${CPPFLAGS} ${CFLAGS} $<

OBJ =	main.${O} screen.${O} brac.${O} ch.${O} charset.${O} cmdbuf.${O} \
	command.${O} decode.${O} edit.${O} filename.${O} forwback.${O} \
	help.${O} ifile.${O} input.${O} jump.${O} line.${O} linenum.${O} \
	lsystem.${O} mark.${O} optfunc.${O} option.${O} opttbl.${O} os.${O} \
	output.${O} position.${O} prompt.${O} search.${O} signal.${O} \
	tags.${O} ttyin.${O} version.${O} snprintf.${O}

.PHONY : all install info install-info dvi check install-check newfuncs clean mostlyclean distclean realclean

all: ${TARGET_LESS} ${TARGET_LESSECHO} ${TARGET_LESSKEY}

${TARGET_LESS}: ${OBJ}
	${CC} ${LDFLAGS} -o $@ ${OBJ} ${LIBS}

${TARGET_LESSKEY}: lesskey.${O} version.${O}
	${CC} ${LDFLAGS} -o $@ lesskey.${O} version.${O}

${TARGET_LESSECHO}: lessecho.${O} version.${O}
	${CC} ${LDFLAGS} -o $@ lessecho.${O} version.${O}

defines.h: defines.ds
	command.com /c copy $< $@

${OBJ}: less.h defines.h funcs.h

install:
	${INSTALL_PROGRAM} ${TARGET_LESS} ${bindir}/${binprefix}${TARGET_LESS}
	${INSTALL_PROGRAM} ${TARGET_LESSKEY} ${bindir}/${binprefix}${TARGET_LESSKEY} 
	${INSTALL_PROGRAM} ${TARGET_LESSECHO} ${bindir}/${binprefix}${TARGET_LESSECHO} 
	${INSTALL_DATA} ${srcdir}/less.man ${mandir}/man${manext}/${manprefix}less.${manext}
	${INSTALL_DATA} ${srcdir}/lesskey.man ${mandir}/man${manext}/${manprefix}lesskey.${manext}

info:
install-info:
dvi:
check:
installcheck:

TAGS:
	etags *.c *.h

newfuncs:
	command.com /c if exist funcs.h del funcs.h
	${AWK} -f mkfuncs.awk ${OBJ:.${O}=.c} > funcs.h

clean:
	command.com /c for %f in (*.${O} less lesskey lessecho *.exe) do if exist %f del %f

mostlyclean: clean

distclean: clean
	command.com /c if not exist Makefile.dsg ren Makefile Makefile.dsg
	command.com /c if not exist defines.ds ren defines.h defines.ds
	command.com /c for %f in (Makefile defines.h) do if exist %f del %f

realclean: distclean
	command.com /c if exist TAGS del TAGS

