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@ 16O=o 17 18LIBS = @LIBS@ 19 20prefix = @prefix@ 21exec_prefix = @exec_prefix@ 22 23# Where the installed binary goes. 24bindir = ${exec_prefix}/bin 25binprefix = 26 27# Where the help file goes. 28datadir = ${prefix}/share 29 30mandir = ${prefix}/man/man${manext} 31manext = 1 32manprefix = 33 34#### End of system configuration section. #### 35 36SHELL = /bin/sh 37 38# This rule allows us to supply the necessary -D options 39# in addition to whatever the user asks for. 40.c.o: 41 ${CC} -I. ${CFLAGS_COMPILE_ONLY} ${CPPFLAGS} ${CFLAGS} $< 42 43SRC = main.c screen.c brac.c ch.c charset.c cmdbuf.c \ 44 command.c decode.c edit.c filename.c forwback.c \ 45 help.c ifile.c input.c jump.c line.c linenum.c \ 46 lsystem.c mark.c optfunc.c option.c opttbl.c os.c \ 47 output.c position.c prompt.c search.c signal.c \ 48 tags.c ttyin.c version.c 49OBJ = main.${O} screen.${O} brac.${O} ch.${O} charset.${O} cmdbuf.${O} \ 50 command.${O} decode.${O} edit.${O} filename.${O} forwback.${O} \ 51 help.${O} ifile.${O} input.${O} jump.${O} line.${O} linenum.${O} \ 52 lsystem.${O} mark.${O} optfunc.${O} option.${O} opttbl.${O} os.${O} \ 53 output.${O} position.${O} prompt.${O} search.${O} signal.${O} \ 54 tags.${O} ttyin.${O} version.${O} @REGEX_O@ 55DISTFILES = ${SRC} regexp.c regexp.h \ 56 INSTALL Makefile.in README NEWS \ 57 configure configure.in acconfig.h lesskey.c \ 58 cmd.h funcs.h less.h lesskey.h option.h position.h \ 59 install.sh defines.h.in defines.h.top mkinstalldirs \ 60 less.nro lesskey.nro less.man lesskey.man less.hlp \ 61 less.bg5 less.gb \ 62 Makefile.dos defines.dos doscreen.c \ 63 Makefile.os2 defines.os2 64 65all: less lesskey 66 67less: ${OBJ} 68 ${CC} ${LDFLAGS} -o $@ ${OBJ} ${LIBS} 69 70lesskey: lesskey.${O} version.${O} 71 ${CC} ${LDFLAGS} -o $@ lesskey.${O} version.${O} 72 73${OBJ}: less.h defines.h funcs.h 74 75filename.${O}: filename.c 76 ${CC} -c -DHELPFILE=\"${datadir}/cless.gb\" -I. ${CPPFLAGS} ${CFLAGS} ${srcdir}/filename.c 77 78install: all less.hlp less.bg5 less.gb less.nro installdirs 79 ${INSTALL_PROGRAM} less $(DESTDIR)${bindir}/${binprefix}cless 80 ${INSTALL_PROGRAM} lesskey $(DESTDIR)${bindir}/${binprefix}clesskey 81 ${INSTALL_DATA} ${srcdir}/less.hlp $(DESTDIR)${datadir}/cless.hlp 82 ${INSTALL_DATA} ${srcdir}/less.bg5 $(DESTDIR)${datadir}/cless.bg5 83 ${INSTALL_DATA} ${srcdir}/less.gb $(DESTDIR)${datadir}/cless.gb 84 ${INSTALL_DATA} ${srcdir}/less.nro $(DESTDIR)${mandir}/${manprefix}cless.${manext} 85 ${INSTALL_DATA} ${srcdir}/lesskey.nro $(DESTDIR)${mandir}/${manprefix}clesskey.${manext} 86 87installdirs: mkinstalldirs 88 ${srcdir}/mkinstalldirs $(DESTDIR)${bindir} $(DESTDIR)${datadir} $(DESTDIR)${mandir} 89 90uninstall: 91 rm -f ${bindir}/${binprefix}cless ${bindir}/${binprefix}clesskey 92 rm -f ${datadir}/cless.hlp ${datadir}/cless.bg5 ${datadir}/cless.gb 93 rm -f ${mandir}/cless.${manext} ${mandir}/clesskey.${manext} 94 95info: 96install-info: 97dvi: 98check: 99installcheck: 100 101TAGS: 102 cd ${srcdir} && etags *.c *.h 103 104# config.status might not change defines.h 105# Don't rerun config.status if we just configured (so there's no stamp-h). 106defines.h: stamp-h 107stamp-h: defines.h.in config.status 108 test ! -f stamp-h || CONFIG_FILES= CONFIG_HEADERS=defines.h ./config.status 109 touch stamp-h 110Makefile: Makefile.in config.status 111 CONFIG_FILES=Makefile CONFIG_HEADERS= ./config.status 112config.status: ${srcdir}/configure 113 ./config.status --recheck 114 115configure: configure.in 116 autoheader 117 autoconf 118 119lint: 120 lint -I. ${CPPFLAGS} ${SRC} 121newfuncs: 122 mv -f funcs.h funcs.h.old 123 awk -f mkfuncs.awk ${SRC} >funcs.h 124clean: 125 rm -f *.${O} core less lesskey 126 127mostlyclean: clean 128 129distclean: clean 130 rm -f Makefile config.status config.log config.cache defines.h stamp-h 131 132realclean: distclean 133 rm -f TAGS 134 135dist: ${DISTFILES} 136 if [ ! -d release ]; then mkdir release; fi 137 @REL=`sed -e '/char version/!d' -e 's/[^0-9.]*\([0-9.]*\).*/less-\1/' -e q version.c`; \ 138 rm -rf release/$$REL; mkdir release/$$REL; \ 139 echo "Creating release/$$REL/$$REL.tar.gz"; \ 140 rm -rf $$REL; mkdir $$REL; \ 141 for file in ${DISTFILES}; do \ 142 ln $$file $$REL || \ 143 { echo "cannot link, copying $$file"; cp -p $$file $$REL; }; \ 144 done; \ 145 tar -chf - $$REL | gzip -c >release/$$REL/$$REL.tar.gz; \ 146 rm -rf $$REL 147 148tagall: 149 @REL=`sed -e '/char version/!d' -e 's/[^0-9.]*\([0-9.]*\).*/v\1/' -e q version.c`; \ 150 echo "tagging $$REL"; \ 151 $(RCS) -N$$REL: RCS/*,v 152