Home | History | Annotate | Line # | Download | only in dist
Makefile.aut revision 1.1.1.2
      1 # Makefile for authoring less.
      2 
      3 EMAIL = bug-less (a] 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
    133