Rewrite and merge some bogus makefiles to create Makefile.shprog. Just

include this in the old makefiles.

I intended to fix only the private maninstall rule but found a lot of
other bogons and bugs:
- strong resistance to installing the program anywhere other than
  ${DESTDIR}/usr/bin (first, ../../Makefile.inc was not included.
  ../Makefile/inc was redundantly included instead.  Second, /usr/bin
  was hard coded).
- the owner, group and permissions were hard coded.
- the man page was installed twice.
- MANDEPEND wasn't necessary.
- calculations to determine the obj directory weren't necessary.
- there were unnecessary private rules for depend, rcsfreeze and tags.
  We don't support the rcsfreeze target.
- there was an extra, bogus, rule for `all'.

The final version uses suffix rules to eliminate the remaining verboseness
involving directories (${.CURDIR}) and to potentially allow multiple
shell programs in one directory.
This commit is contained in:
Bruce Evans 1995-10-21 14:27:19 +00:00
parent 7dace4c581
commit 03e5b81db4
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=11616
3 changed files with 38 additions and 81 deletions

View File

@ -0,0 +1,30 @@
# $Id$
# This may become bsd.shprog.mk. The general version would have to handle:
# - arbitrary sed substitutions.
# - programs without man pages.
# - programs with man pages in sections other than section 1.
MAN1= ${SHPROG:S/$/.1/g}
CLEANFILES+= ${SHPROG} ${MAN1}
all: ${SHPROG}
.sh:
sed -e 's,%libdir%,${libdir},' -e 's,%bindir%,${bindir},' \
-e 's,%pager%,${pager},' \
${.ALLSRC} > ${.TARGET}
.SUFFIXES: .man .1
.man.1:
sed -e 's,%libdir%,${libdir},' -e 's,%bindir%,${bindir},' \
-e 's,%pager%,${pager},' -e 's,%troff%,${troff},' \
-e 's,%manpath_config_file%,${manpath_config_file},' \
${.ALLSRC} > ${.TARGET}
beforeinstall:
${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
${SHPROG} ${DESTDIR}${BINDIR}
.include <bsd.prog.mk>

View File

@ -1,44 +1,6 @@
# $Id: Makefile,v 1.8 1994/08/28 18:33:42 bde Exp $
# $Id: Makefile,v 1.9 1995/07/25 00:33:07 bde Exp $
.if exists(${.CURDIR}/obj)
MAN1= ${.CURDIR}/obj/apropos.1
TARG= ${.CURDIR}/obj/apropos
.else
MAN1= ${.CURDIR}/apropos.1
TARG= ${.CURDIR}/apropos
.endif
SHPROG= apropos
MANDEPEND= ${MAN1}
CLEANFILES+= ${TARG} ${MAN1}
all: ${TARG} ${MAN1}
depend rcsfreeze tags all:
@echo -n
${TARG}: ${.CURDIR}/apropos.sh
sed -e 's,%libdir%,${libdir},' -e 's,%bindir%,${bindir},' \
-e 's,%pager%,${pager},' \
${.CURDIR}/apropos.sh > ${.TARGET}
${MAN1}: ${.CURDIR}/apropos.man
sed -e 's,%libdir%,${libdir},' -e 's,%bindir%,${bindir},' \
-e 's,%pager%,${pager},' -e 's,%troff%,${troff},' \
-e 's,%manpath_config_file%,${manpath_config_file},' \
${.CURDIR}/apropos.man > ${.TARGET}
install: ${TARG} maninstall
${INSTALL} -c -o bin -g bin -m 555 ${TARG} ${DESTDIR}/usr/bin
.include "../Makefile.inc"
.if make(maninstall) || make(install)
.if !defined(NOMAN)
.include <bsd.man.mk>
.elif !target(maninstall)
maninstall:
.endif
.endif
.include <bsd.prog.mk>
.include "../../Makefile.inc"
.include "../Makefile.shprog"

View File

@ -1,41 +1,6 @@
.if exists(${.CURDIR}/obj)
MAN1= ${.CURDIR}/obj/whatis.1
TARG= ${.CURDIR}/obj/whatis
.else
MAN1= ${.CURDIR}/whatis.1
TARG= ${.CURDIR}/whatis
.endif
# $Id$
MANDEPEND= ${MAN1}
SHPROG= whatis
CLEANFILES+= ${TARG} ${MAN1}
all: ${TARG} ${MAN1}
depend rcsfreeze tags all:
@echo -n
${TARG}: ${.CURDIR}/whatis.sh
sed -e 's,%libdir%,${libdir},' -e 's,%bindir%,${bindir},' \
-e 's,%pager%,${pager},' \
${.CURDIR}/whatis.sh > ${.TARGET}
${MAN1}: ${.CURDIR}/whatis.man
sed -e 's,%libdir%,${libdir},' -e 's,%bindir%,${bindir},' \
-e 's,%pager%,${pager},' -e 's,%troff%,${troff},' \
-e 's,%manpath_config_file%,${manpath_config_file},' \
${.CURDIR}/whatis.man > ${.TARGET}
install: ${TARG} maninstall
${INSTALL} -c -o bin -g bin -m 555 ${TARG} ${DESTDIR}/usr/bin
.include "../Makefile.inc"
.if make(maninstall) || make(install)
.if !defined(NOMAN)
.include <bsd.man.mk>
.else
maninstall:
.endif
.endif
.include <bsd.prog.mk>
.include "../../Makefile.inc"
.include "../Makefile.shprog"