1 # Makefile for authoring less.
3 EMAIL = bug-less@gnu.org
4 HOMEPAGE = http://www.greenwoodsoftware.com/less
12 main.c screen.c brac.c ch.c charset.c cmdbuf.c \
13 command.c cvt.c decode.c edit.c filename.c forwback.c \
14 help.c ifile.c input.c jump.c line.c linenum.c \
15 lsystem.c mark.c optfunc.c option.c opttbl.c os.c \
16 output.c pattern.c position.c prompt.c search.c signal.c \
17 tags.c ttyin.c version.c
19 defines.ds Makefile.dsb Makefile.dsg Makefile.dsu \
20 defines.o2 Makefile.o2e \
21 defines.o9 Makefile.o9c Makefile.o9u \
22 defines.wn Makefile.wnm Makefile.wnb \
25 compose.uni ubin.uni wide.uni
27 ${SRC} regexp.c regexp.h \
28 COPYING INSTALL LICENSE Makefile.in Makefile.aut NEWS README \
29 configure.ac lesskey.c lessecho.c scrsize.c \
30 charset.h cmd.h funcs.h lglob.h less.h lesskey.h option.h \
31 pckeys.h pattern.h position.h \
32 install.sh defines.h.in mkinstalldirs \
33 less.nro less.man lesskey.nro lesskey.man lessecho.nro lessecho.man \
35 mkfuncs.awk mkhelp.c \
36 mkutable $(UNICODE_FILES) \
39 all: help.c funcs.h $(UNICODE_FILES) ${srcdir}/configure
42 ${MAKE} -f Makefile.aut tagall
43 ${MAKE} -f Makefile.aut all
44 ${MAKE} -f Makefile.aut clean
45 ${MAKE} -f Makefile.aut dist
49 help.c: less.hlp mkhelp
50 -mv -f ${srcdir}/help.c ${srcdir}/help.c.old
52 ./mkhelp < less.hlp > help.c
53 if cmp -s help.c help.c.old; then mv -f help.c.old help.c; fi
56 ${CC} -o mkhelp mkhelp.c
58 ${srcdir}/configure: ${srcdir}/configure.ac \
60 cd ${srcdir}; autoheader; autoconf
62 funcs.h: ${SRC:%=${srcdir}/%}
63 -mv -f ${srcdir}/funcs.h ${srcdir}/funcs.h.old
64 awk -f ${srcdir}/mkfuncs.awk ${SRC:%=${srcdir}/%} >${srcdir}/funcs.h
65 if cmp -s funcs.h funcs.h.old; then mv -f funcs.h.old funcs.h; fi
68 lint -I. ${CPPFLAGS} ${SRC}
71 rm -f Makefile config.status config.log config.cache defines.h stamp-h \
73 less.nro less.man lesskey.nro lesskey.man lessecho.nro lessecho.man
79 @REL=`sed -e '/char version/!d' -e 's/[^0-9.]*\([0-9.]*\).*/\1/' -e q ${srcdir}/version.c`; \
80 DT=`date '+%d %h %Y'`; \
81 echo "Stuffing version number $$REL into $@"; \
84 -e "s;@@VERSION@@;$$REL;" \
85 -e "s;@@DATE@@;$$DT;" \
86 -e "s;@@EMAIL@@;${EMAIL};" \
87 -e "s;@@HOMEPAGE@@;${HOMEPAGE};" >$@
89 ${srcdir}/README: ${srcdir}/README.VER ${srcdir}/version.c
90 ${REPLACE_VERSION} ${srcdir}/README.VER
91 ${srcdir}/NEWS: ${srcdir}/NEWS.VER ${srcdir}/version.c
92 ${REPLACE_VERSION} ${srcdir}/NEWS.VER
93 ${srcdir}/less.nro: ${srcdir}/less.nro.VER ${srcdir}/version.c
94 ${REPLACE_VERSION} ${srcdir}/less.nro.VER
95 ${srcdir}/lesskey.nro: ${srcdir}/lesskey.nro.VER ${srcdir}/version.c
96 ${REPLACE_VERSION} ${srcdir}/lesskey.nro.VER
97 ${srcdir}/lessecho.nro: ${srcdir}/lessecho.nro.VER ${srcdir}/version.c
98 ${REPLACE_VERSION} ${srcdir}/lessecho.nro.VER
99 ${srcdir}/less.hlp: ${srcdir}/less.hlp.VER ${srcdir}/version.c
100 ${REPLACE_VERSION} ${srcdir}/less.hlp.VER
102 ${srcdir}/less.man: ${srcdir}/less.nro
103 ${NROFF} ${srcdir}/less.nro >${srcdir}/less.man
104 ${srcdir}/lesskey.man: ${srcdir}/lesskey.nro
105 ${NROFF} ${srcdir}/lesskey.nro >${srcdir}/lesskey.man
106 ${srcdir}/lessecho.man: ${srcdir}/lessecho.nro
107 ${NROFF} ${srcdir}/lessecho.nro >${srcdir}/lessecho.man
109 compose.uni: unicode/UnicodeData.txt
110 ./mkutable -f2 Mn Me -- unicode/UnicodeData.txt > $@
111 ubin.uni: unicode/UnicodeData.txt
112 ./mkutable -f2 Cc Cf Cs Co Zl Zp -- unicode/UnicodeData.txt > $@
113 wide.uni: unicode/EastAsianWidth.txt
114 ./mkutable -f1 W -- unicode/EastAsianWidth.txt > $@
116 distfiles: ${DISTFILES}
119 if [ ! -d ${srcdir}/release ]; then mkdir ${srcdir}/release; fi
121 REL=`sed -e '/char version/!d' -e 's/[^0-9.]*\([0-9.]*\).*/less-\1/' -e q version.c`; \
122 rm -rf release/$$REL; mkdir release/$$REL; \
123 echo "Preparing $$REL"; \
124 rm -rf $$REL; mkdir $$REL; \
125 for file in ${DISTFILES}; do \
126 ./add_copyright $$file $$REL; \
128 cd $$REL; chmod -w *; chmod +w ${DISTFILES_W}; chmod +x configure; cd ..; \
129 echo "Creating release/$$REL/$$REL.tar.gz"; \
130 tar -cf - $$REL | gzip -c >release/$$REL/$$REL.tar.gz; \
131 echo "Signing release/$$REL/$$REL.tar.gz"; \
132 gpg --detach-sign release/$$REL/$$REL.tar.gz; \
133 echo "Creating release/$$REL/$$REL.zip"; \
134 zip -rq release/$$REL/$$REL.zip $$REL; \
138 @REL=`sed -e '/char version/!d' -e 's/[^0-9.]*\([0-9.]*\).*/v\1/' -e q ${srcdir}/version.c`; \
139 echo "tagging $$REL"; \
140 for f in ${srcdir}/RCS/*,v; do \
141 REV=`co -p $$f 2>&1 | sed -e '1d' -e '3,$$d' -e 's/revision //'`; \
142 ${RCS} -N$$REL:$$REV $$f; \