1# Makefile for less.
2
3#### Start of system configuration section. ####
4
5srcdir = @srcdir@
6VPATH = @srcdir@
7
8CC = @CC@
9INSTALL = @INSTALL@
10INSTALL_PROGRAM = @INSTALL_PROGRAM@
11INSTALL_DATA = @INSTALL_DATA@
12
13CFLAGS = @CFLAGS@
14CFLAGS_COMPILE_ONLY = -c
15LDFLAGS = @LDFLAGS@
16CPPFLAGS = @CPPFLAGS@
17EXEEXT = @EXEEXT@
18O=o
19ifneq ($(strip $(LESSTEST)),)
20CPPFLAGS += -DLESSTEST
21endif
22
23LIBS = @LIBS@
24
25prefix = @prefix@
26exec_prefix = @exec_prefix@
27
28# Where the installed binary goes.
29bindir = @bindir@
30binprefix = 
31
32sysconfdir = @sysconfdir@
33datarootdir = @datarootdir@
34
35mandir = @mandir@
36manext = 1
37manprefix = 
38DESTDIR =
39
40#### End of system configuration section. ####
41
42SHELL = /bin/sh
43
44# This rule allows us to supply the necessary -D options
45# in addition to whatever the user asks for.
46.c.o:
47	${CC} -I. ${CFLAGS_COMPILE_ONLY} -DBINDIR=\"${bindir}\" -DSYSDIR=\"${sysconfdir}\" ${CPPFLAGS} ${CFLAGS} $<
48
49OBJ = \
50	main.${O} screen.${O} brac.${O} ch.${O} charset.${O} cmdbuf.${O} \
51	command.${O} cvt.${O} decode.${O} edit.${O} filename.${O} forwback.${O} \
52	help.${O} ifile.${O} input.${O} jump.${O} \
53	line.${O} linenum.${O} \
54	lsystem.${O} mark.${O} optfunc.${O} option.${O} opttbl.${O} os.${O} \
55	output.${O} pattern.${O} position.${O} prompt.${O} search.${O} signal.${O} \
56	tags.${O} ttyin.${O} version.${O} xbuf.${O}  @REGEX_O@
57
58ifneq (@SECURE_COMPILE@,1)
59OBJ += lesskey_parse.${O}
60endif
61
62all: less$(EXEEXT) lesskey$(EXEEXT) lessecho$(EXEEXT)
63
64less$(EXEEXT): ${OBJ}
65	${CC} ${LDFLAGS} -o $@ ${OBJ} ${LIBS}
66
67lesskey$(EXEEXT): lesskey.${O} lesskey_parse.${O} xbuf.${O} version.${O}
68	${CC} ${LDFLAGS} -o $@ lesskey.${O} lesskey_parse.${O} xbuf.${O} version.${O}
69
70lessecho$(EXEEXT): lessecho.${O} version.${O}
71	${CC} ${LDFLAGS} -o $@ lessecho.${O} version.${O}
72
73charset.${O}: compose.uni ubin.uni wide.uni
74
75${OBJ}: ${srcdir}/less.h ${srcdir}/funcs.h defines.h 
76
77install: all ${srcdir}/less.nro ${srcdir}/lesskey.nro ${srcdir}/lessecho.nro installdirs
78	${INSTALL_PROGRAM} less$(EXEEXT) ${DESTDIR}${bindir}/${binprefix}less$(EXEEXT)
79	${INSTALL_PROGRAM} lesskey$(EXEEXT) ${DESTDIR}${bindir}/${binprefix}lesskey$(EXEEXT)
80	${INSTALL_PROGRAM} lessecho$(EXEEXT) ${DESTDIR}${bindir}/${binprefix}lessecho$(EXEEXT)
81	${INSTALL_DATA} ${srcdir}/less.nro ${DESTDIR}${mandir}/man${manext}/${manprefix}less.${manext}
82	${INSTALL_DATA} ${srcdir}/lesskey.nro ${DESTDIR}${mandir}/man${manext}/${manprefix}lesskey.${manext}
83	${INSTALL_DATA} ${srcdir}/lessecho.nro ${DESTDIR}${mandir}/man${manext}/${manprefix}lessecho.${manext}
84
85install-strip:
86	${MAKE} INSTALL_PROGRAM='${INSTALL_PROGRAM} -s' install
87
88installdirs: mkinstalldirs
89	${srcdir}/mkinstalldirs ${DESTDIR}${bindir} ${DESTDIR}${mandir}/man${manext}
90
91uninstall:
92	rm -f ${DESTDIR}${bindir}/${binprefix}less$(EXEEXT)
93	rm -f ${DESTDIR}${bindir}/${binprefix}lesskey$(EXEEXT)
94	rm -f ${DESTDIR}${bindir}/${binprefix}lessecho$(EXEEXT)
95	rm -f ${DESTDIR}${mandir}/man${manext}/${manprefix}less.${manext}
96	rm -f ${DESTDIR}${mandir}/man${manext}/${manprefix}lesskey.${manext}
97	rm -f ${DESTDIR}${mandir}/man${manext}/${manprefix}lessecho.${manext}
98
99info:
100install-info:
101dvi:
102installcheck:
103
104check:
105	if [ -x less$(EXEEXT) ] && ./less$(EXEEXT) -V | grep -q LESSTEST; then :; else ${MAKE} clean; ${MAKE} LESSTEST=1; fi
106	objdir=$$(pwd); rflags=""; if [ -z "${VERBOSE}" ]; then rflags=-e; fi; cd $(srcdir)/lesstest && ${MAKE} && ./runtest $$rflags -l "$$objdir/less" lt
107
108TAGS:
109	cd ${srcdir} && etags *.c *.h
110
111# config.status might not change defines.h
112# Don't rerun config.status if we just configured (so there's no stamp-h).
113defines.h: stamp-h
114stamp-h: defines.h.in config.status
115	test ! -f stamp-h || CONFIG_FILES= CONFIG_HEADERS=defines.h ./config.status
116	touch stamp-h
117Makefile: ${srcdir}/Makefile.in config.status
118	CONFIG_FILES=Makefile CONFIG_HEADERS= ./config.status
119config.status: ${srcdir}/configure
120	./config.status --recheck
121
122${srcdir}/configure: ${srcdir}/configure.ac
123	cd ${srcdir}; autoheader; autoconf
124
125clean:
126	rm -f *.${O} core less$(EXEEXT) lesskey$(EXEEXT) lessecho$(EXEEXT)
127
128mostlyclean: clean
129
130distclean: clean
131	rm -f Makefile config.status config.log config.cache defines.h stamp-h
132
133realclean: distclean
134	rm -f TAGS
135