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