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

#### Start of system configuration section. ####

srcdir = .
VPATH = .

CC = gcc
INSTALL = ginstall -c
INSTALL_PROGRAM = ginstall
INSTALL_DATA = ginstall -m 644
AWK = gawk

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

LIBS =
prefix = /dev/env/DJDIR
exec_prefix = ${prefix}

bindir = ${exec_prefix}/bin
sysconfdir = ${prefix}/etc
mandir = ${prefix}/man
manext = 1

#### 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} -DBINDIR=\"${bindir}\" -DSYSDIR=\"${sysconfdir}\" ${CPPFLAGS} ${CFLAGS} $<

OBJ = \
	main.${O} screen.${O} brac.${O} ch.${O} charset.${O} cmdbuf.${O} \
	command.${O} cvt.${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} pattern.${O} position.${O} prompt.${O} search.${O} signal.${O} \
	tags.${O} ttyin.${O} version.${O}

all: less lesskey lessecho

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

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

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

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

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

install: all ${srcdir}/less.man ${srcdir}/lesskey.man
	${INSTALL_PROGRAM} less.exe ${bindir}/less.exe
	${INSTALL_PROGRAM} lesskey.exe ${bindir}/lesskey.exe
	${INSTALL_PROGRAM} lessecho.exe ${bindir}/lessecho.exe
	${INSTALL_DATA} ${srcdir}/less.man ${mandir}/man${manext}/less.${manext}
	${INSTALL_DATA} ${srcdir}/lesskey.man ${mandir}/man${manext}/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

