1 1.1 tron # Makefile for authoring less. 2 1.1 tron 3 1.1 tron EMAIL = markn (a] greenwoodsoftware.com 4 1.1 tron HOMEPAGE = http://www.greenwoodsoftware.com/less 5 1.1 tron SHELL = /bin/sh 6 1.1 tron RCS = rcs 7 1.1 tron NROFF = nroff -man 8 1.1 tron 9 1.1 tron srcdir = . 10 1.1 tron 11 1.1 tron SRC = \ 12 1.1 tron main.c screen.c brac.c ch.c charset.c cmdbuf.c \ 13 1.1 tron command.c cvt.c decode.c edit.c filename.c forwback.c \ 14 1.1 tron help.c ifile.c input.c jump.c line.c linenum.c \ 15 1.1 tron lsystem.c mark.c optfunc.c option.c opttbl.c os.c \ 16 1.1 tron output.c pattern.c position.c prompt.c search.c signal.c \ 17 1.1 tron tags.c ttyin.c version.c 18 1.1 tron DISTFILES_W = \ 19 1.1 tron defines.ds Makefile.dsb Makefile.dsg Makefile.dsu \ 20 1.1 tron defines.o2 Makefile.o2e \ 21 1.1 tron defines.o9 Makefile.o9c Makefile.o9u \ 22 1.1 tron defines.wn Makefile.wnm Makefile.wnb 23 1.1 tron DISTFILES = \ 24 1.1 tron ${SRC} regexp.c regexp.h \ 25 1.1 tron COPYING INSTALL LICENSE Makefile.in Makefile.aut NEWS README \ 26 1.1 tron configure configure.ac lesskey.c lessecho.c scrsize.c \ 27 1.1 tron charset.h cmd.h funcs.h lglob.h less.h lesskey.h option.h \ 28 1.1 tron pckeys.h pattern.h position.h \ 29 1.1 tron install.sh defines.h.in mkinstalldirs \ 30 1.1 tron less.nro less.man lesskey.nro lesskey.man lessecho.nro lessecho.man \ 31 1.1 tron less.hlp \ 32 1.1 tron mkfuncs.awk mkhelp.c \ 33 1.1 tron ${DISTFILES_W} 34 1.1 tron 35 1.1 tron all: help.c funcs.h ${srcdir}/configure 36 1.1 tron 37 1.1 tron release: .FORCE 38 1.1 tron ${MAKE} -f Makefile.aut tagall 39 1.1 tron ${MAKE} -f Makefile.aut all 40 1.1 tron ${MAKE} -f Makefile.aut clean 41 1.1 tron ${MAKE} -f Makefile.aut dist 42 1.1 tron 43 1.1 tron .FORCE: 44 1.1 tron 45 1.1 tron help.c: less.hlp mkhelp 46 1.1 tron -mv -f ${srcdir}/help.c ${srcdir}/help.c.old 47 1.1 tron rm -rf help.c 48 1.1 tron ./mkhelp < less.hlp > help.c 49 1.1 tron if cmp -s help.c help.c.old; then mv help.c.old help.c; fi 50 1.1 tron 51 1.1 tron mkhelp: mkhelp.c 52 1.1 tron ${CC} -o mkhelp mkhelp.c 53 1.1 tron 54 1.1 tron ${srcdir}/configure: ${srcdir}/configure.ac \ 55 1.1 tron ${srcdir}/Makefile.in 56 1.1 tron cd ${srcdir}; autoheader; autoconf 57 1.1 tron 58 1.1 tron funcs.h: ${SRC:%=${srcdir}/%} 59 1.1 tron -mv -f ${srcdir}/funcs.h ${srcdir}/funcs.h.old 60 1.1 tron awk -f ${srcdir}/mkfuncs.awk ${SRC:%=${srcdir}/%} >${srcdir}/funcs.h 61 1.1 tron if cmp -s funcs.h funcs.h.old; then mv funcs.h.old funcs.h; fi 62 1.1 tron 63 1.1 tron lint: 64 1.1 tron lint -I. ${CPPFLAGS} ${SRC} 65 1.1 tron 66 1.1 tron clean: 67 1.1 tron rm -f Makefile config.status config.log config.cache defines.h stamp-h \ 68 1.1 tron README NEWS \ 69 1.1 tron less.nro less.man lesskey.nro lesskey.man lessecho.nro lessecho.man 70 1.1 tron 71 1.1 tron distclean: clean 72 1.1 tron realclean: clean 73 1.1 tron 74 1.1 tron REPLACE_VERSION = \ 75 1.1 tron @REL=`sed -e '/char version/!d' -e 's/[^0-9.]*\([0-9.]*\).*/\1/' -e q ${srcdir}/version.c`; \ 76 1.1 tron DT=`date '+%d %h %Y'`; \ 77 1.1 tron echo "Stuffing version number $$REL into $@"; \ 78 1.1 tron sed \ 79 1.1 tron -e "s;@@VERSION@@;$$REL;" \ 80 1.1 tron -e "s;@@DATE@@;$$DT;" \ 81 1.1 tron -e "s;@@EMAIL@@;${EMAIL};" \ 82 1.1 tron -e "s;@@HOMEPAGE@@;${HOMEPAGE};" >$@ 83 1.1 tron 84 1.1 tron ${srcdir}/README: ${srcdir}/README.VER ${srcdir}/version.c 85 1.1 tron ${REPLACE_VERSION} ${srcdir}/README.VER 86 1.1 tron ${srcdir}/NEWS: ${srcdir}/NEWS.VER ${srcdir}/version.c 87 1.1 tron ${REPLACE_VERSION} ${srcdir}/NEWS.VER 88 1.1 tron ${srcdir}/less.nro: ${srcdir}/less.nro.VER ${srcdir}/version.c 89 1.1 tron ${REPLACE_VERSION} ${srcdir}/less.nro.VER 90 1.1 tron ${srcdir}/lesskey.nro: ${srcdir}/lesskey.nro.VER ${srcdir}/version.c 91 1.1 tron ${REPLACE_VERSION} ${srcdir}/lesskey.nro.VER 92 1.1 tron ${srcdir}/lessecho.nro: ${srcdir}/lessecho.nro.VER ${srcdir}/version.c 93 1.1 tron ${REPLACE_VERSION} ${srcdir}/lessecho.nro.VER 94 1.1 tron ${srcdir}/less.hlp: ${srcdir}/less.hlp.VER ${srcdir}/version.c 95 1.1 tron ${REPLACE_VERSION} ${srcdir}/less.hlp.VER 96 1.1 tron 97 1.1 tron ${srcdir}/less.man: ${srcdir}/less.nro 98 1.1 tron ${NROFF} ${srcdir}/less.nro >${srcdir}/less.man 99 1.1 tron ${srcdir}/lesskey.man: ${srcdir}/lesskey.nro 100 1.1 tron ${NROFF} ${srcdir}/lesskey.nro >${srcdir}/lesskey.man 101 1.1 tron ${srcdir}/lessecho.man: ${srcdir}/lessecho.nro 102 1.1 tron ${NROFF} ${srcdir}/lessecho.nro >${srcdir}/lessecho.man 103 1.1 tron 104 1.1 tron 105 1.1 tron distfiles: ${DISTFILES} 106 1.1 tron 107 1.1 tron dist: ${DISTFILES} 108 1.1 tron if [ ! -d ${srcdir}/release ]; then mkdir ${srcdir}/release; fi 109 1.1 tron @cd ${srcdir}; \ 110 1.1 tron REL=`sed -e '/char version/!d' -e 's/[^0-9.]*\([0-9.]*\).*/less-\1/' -e q version.c`; \ 111 1.1 tron rm -rf release/$$REL; mkdir release/$$REL; \ 112 1.1 tron echo "Preparing $$REL"; \ 113 1.1 tron rm -rf $$REL; mkdir $$REL; \ 114 1.1 tron for file in ${DISTFILES}; do \ 115 1.1 tron cp -p $$file $$REL; \ 116 1.1 tron chmod -w $$REL/$$file; \ 117 1.1 tron done; \ 118 1.1 tron cd $$REL; chmod +w ${DISTFILES_W}; cd ..; \ 119 1.1 tron echo "Creating release/$$REL/$$REL.tar.gz"; \ 120 1.1 tron tar -cf - $$REL | gzip -c >release/$$REL/$$REL.tar.gz; \ 121 1.1 tron echo "Signing release/$$REL/$$REL.tar.gz"; \ 122 1.1 tron gpg --detach-sign release/$$REL/$$REL.tar.gz; \ 123 1.1 tron echo "Creating release/$$REL/$$REL.zip"; \ 124 1.1 tron zip -rq release/$$REL/$$REL.zip $$REL; \ 125 1.1 tron rm -rf $$REL 126 1.1 tron 127 1.1 tron tagall: 128 1.1 tron @REL=`sed -e '/char version/!d' -e 's/[^0-9.]*\([0-9.]*\).*/v\1/' -e q ${srcdir}/version.c`; \ 129 1.1 tron echo "tagging $$REL"; \ 130 1.1 tron for f in ${srcdir}/RCS/*,v; do \ 131 1.1 tron REV=`co -p $$f 2>&1 | sed -e '1d' -e '3,$$d' -e 's/revision //'`; \ 132 1.1 tron ${RCS} -N$$REL:$$REV $$f; \ 133 1.1 tron done 134