From 5a93a2fdb90e2b13fedd3c7d32d219deffe615e8 Mon Sep 17 00:00:00 2001 From: wollman Date: Thu, 4 Aug 1994 21:09:27 +0000 Subject: Spplat our 1.1.5 `mk' ifiles over the top of the 4.4 ones. So far as I can tell, this is ts the right thing to do. --- share/mk/bsd.doc.mk | 79 ++++++++++++++------ share/mk/bsd.lib.mk | 190 ++++++++++++++++++++++++++++++++++++++----------- share/mk/bsd.man.mk | 84 ++++++++++++++++------ share/mk/bsd.prog.mk | 153 ++++++++++++++++++++++++--------------- share/mk/bsd.subdir.mk | 26 +++---- share/mk/sys.mk | 75 ++++++++++--------- 6 files changed, 415 insertions(+), 192 deletions(-) (limited to 'share/mk') diff --git a/share/mk/bsd.doc.mk b/share/mk/bsd.doc.mk index 2b6f128..7df1d71 100644 --- a/share/mk/bsd.doc.mk +++ b/share/mk/bsd.doc.mk @@ -1,51 +1,84 @@ -# @(#)bsd.doc.mk 8.1 (Berkeley) 8/14/93 +# from: @(#)bsd.doc.mk 5.3 (Berkeley) 1/2/91 +# $Id: bsd.doc.mk,v 1.7 1994/04/19 17:15:55 jkh Exp $ + +PRINTER?= ps BIB?= bib -EQN?= eqn +EQN?= eqn -T${PRINTER} GREMLIN?= grn GRIND?= vgrind -f INDXBIB?= indxbib +INSTALL?= install PIC?= pic REFER?= refer -ROFF?= groff -M/usr/share/tmac -M/usr/old/lib/tmac ${MACROS} ${PAGES} +ROFF?= groff -T${PRINTER} ${MACROS} -o${PAGES} SOELIM?= soelim TBL?= tbl -.PATH: ${.CURDIR} +PAGES?= 1- -.if !target(all) -.MAIN: all -all: paper.ps -.endif +# Compatibility mode flag for groff. Use this when formatting documents with +# Berkeley me macros. +COMPAT?= -C -.if !target(paper.ps) -paper.ps: ${SRCS} - ${ROFF} ${SRCS} > ${.TARGET} -.endif +.PATH: ${.CURDIR} -.if !target(print) -print: paper.ps - lpr -P${PRINTER} paper.ps -.endif +all: ${DOC}.${PRINTER} -.if !target(manpages) -manpages: +.if !target(print) +print: ${DOC}.${PRINTER} + lpr -P${PRINTER} ${DOC}.${PRINTER} .endif .if !target(obj) +.if defined(NOOBJ) +obj: +.else obj: + @cd ${.CURDIR}; rm -f obj > /dev/null 2>&1 || true; \ + here=`pwd`; subdir=`echo $$here | sed 's,^/usr/src/,,'`; \ + if test $$here != $$subdir ; then \ + dest=/usr/obj/$$subdir ; \ + echo "$$here -> $$dest"; ln -s $$dest obj; \ + if test -d /usr/obj -a ! -d $$dest; then \ + mkdir -p $$dest; \ + else \ + true; \ + fi; \ + else \ + true ; \ + dest=$$here/obj ; \ + echo "making $$here/obj" ; \ + if test ! -d obj ; then \ + mkdir $$here/obj; \ + fi ; \ + fi; .endif +.endif + +clean: + rm -f ${DOC}.* [eE]rrs mklog ${CLEANFILES} -clean cleandir: - rm -f paper.* [eE]rrs mklog ${CLEANFILES} +cleandir: + rm -f ${DOC}.* [eE]rrs mklog ${CLEANFILES} + cd ${.CURDIR}; rm -rf obj FILES?= ${SRCS} install: - install -c -o ${BINOWN} -g ${BINGRP} -m 444 \ - Makefile ${FILES} ${EXTRA} ${DESTDIR}${BINDIR}/${DIR} + @if [ ! -d "${DESTDIR}${BINDIR}/${VOLUME}" ]; then \ + /bin/rm -f ${DESTDIR}${BINDIR}/${VOLUME} ; \ + mkdir -p ${DESTDIR}${BINDIR}/${VOLUME} ; \ + chown root.wheel ${DESTDIR}${BINDIR}/${VOLUME} ; \ + chmod 755 ${DESTDIR}${BINDIR}/${VOLUME} ; \ + else \ + true ; \ + fi + ${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 444 ${DOC}.* \ + ${DESTDIR}${BINDIR}/${VOLUME} spell: ${SRCS} - spell ${SRCS} | sort | comm -23 - spell.ok > paper.spell + (cd ${.CURDIR}; spell ${SRCS} ) | sort | \ + comm -23 - ${.CURDIR}/spell.ok > ${DOC}.spell BINDIR?= /usr/share/doc BINGRP?= bin diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index c52cb08..3667b73 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -1,9 +1,21 @@ -# @(#)bsd.lib.mk 8.3 (Berkeley) 4/22/94 +# from: @(#)bsd.lib.mk 5.26 (Berkeley) 5/2/91 +# $Id: bsd.lib.mk,v 1.39 1994/06/15 10:14:40 ache Exp $ +# .if exists(${.CURDIR}/../Makefile.inc) .include "${.CURDIR}/../Makefile.inc" .endif +.if exists(${.CURDIR}/shlib_version) +SHLIB_MAJOR != . ${.CURDIR}/shlib_version ; echo $$major +SHLIB_MINOR != . ${.CURDIR}/shlib_version ; echo $$minor +.endif + +.if defined(DESTDIR) +CFLAGS+= -I${DESTDIR}/usr/include +CXXINCLUDES+= -I${DESTDIR}/usr/include/${CXX} +.endif +INSTALL?= install LIBDIR?= /usr/lib LINTLIBDIR?= /usr/libdata/lint LIBGRP?= bin @@ -19,14 +31,12 @@ BINMODE?= 555 .MAIN: all # prefer .s to a .c, add .po, remove stuff not used in the BSD libraries +# .so used for PIC object files .SUFFIXES: -.SUFFIXES: .out .o .po .s .c .f .y .l .8 .7 .6 .5 .4 .3 .2 .1 .0 .m4 - -.8.0 .7.0 .6.0 .5.0 .4.0 .3.0 .2.0 .1.0: - nroff -man ${.IMPSRC} > ${.TARGET} +.SUFFIXES: .out .o .po .so .s .S .c .cc .cxx .m .C .f .y .l .c.o: - ${CC} ${CFLAGS} -c ${.IMPSRC} + ${CC} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} @${LD} -x -r ${.TARGET} @mv a.out ${.TARGET} @@ -35,6 +45,35 @@ BINMODE?= 555 @${LD} -X -r ${.TARGET} @mv a.out ${.TARGET} +.c.so: + ${CC} ${PICFLAG} -DPIC ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} + +.cc.o .cxx.o .C.o: + ${CXX} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} + @${LD} -x -r ${.TARGET} + @mv a.out ${.TARGET} + +.cc.po .C.po .cxx.o: + ${CXX} -p ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} + @${LD} -X -r ${.TARGET} + @mv a.out ${.TARGET} + +.cc.so .C.so: + ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} + +.f.o: + ${FC} ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} + @${LD} -x -r ${.TARGET} + @mv a.out ${.TARGET} + +.f.po: + ${FC} -p ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} + @${LD} -X -r ${.TARGET} + @mv a.out ${.TARGET} + +.f.so: + ${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} + .s.o: ${CPP} -E ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} | \ ${AS} -o ${.TARGET} @@ -47,8 +86,31 @@ BINMODE?= 555 @${LD} -X -r ${.TARGET} @mv a.out ${.TARGET} -MANALL= ${MAN1} ${MAN2} ${MAN3} ${MAN4} ${MAN5} ${MAN6} ${MAN7} ${MAN8} -manpages: ${MANALL} +.s.so: + ${CPP} -E -DPIC ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} | \ + ${AS} -k -o ${.TARGET} + +.S.o: + ${CPP} -E ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} | \ + ${AS} -o ${.TARGET} + +.S.po: + ${CPP} -E -DPROF ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} | \ + ${AS} -o ${.TARGET} + +.S.so: + ${CPP} -E -DPIC ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} | \ + ${AS} -k -o ${.TARGET} + +.m.po: + ${CC} ${CFLAGS} -p -c ${.IMPSRC} -o ${.TARGET} + @${LD} -X -r ${.TARGET} + @mv a.out ${.TARGET} + +.m.o: + ${CC} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} + @${LD} -X -r ${.TARGET} + @mv a.out ${.TARGET} .if !defined(NOPROFILE) _LIBS=lib${LIB}.a lib${LIB}_p.a @@ -56,53 +118,86 @@ _LIBS=lib${LIB}.a lib${LIB}_p.a _LIBS=lib${LIB}.a .endif -all: ${_LIBS} # llib-l${LIB}.ln -.if !defined(NOMAN) -all: ${MANALL} +.if !defined(NOPIC) +.if defined(SHLIB_MAJOR) && defined(SHLIB_MINOR) +_LIBS+=lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} +.endif +.if defined(INSTALL_PIC_ARCHIVE) +_LIBS+=lib${LIB}_pic.a +.endif +.endif + +.if !defined(PICFLAG) +PICFLAG=-fpic .endif -OBJS+= ${SRCS:R:S/$/.o/g} +all: ${_LIBS} # llib-l${LIB}.ln + +OBJS+= ${SRCS:N*.h:R:S/$/.o/g} lib${LIB}.a:: ${OBJS} @echo building standard ${LIB} library @rm -f lib${LIB}.a @${AR} cTq lib${LIB}.a `lorder ${OBJS} | tsort` ${LDADD} - ranlib lib${LIB}.a + ${RANLIB} lib${LIB}.a POBJS+= ${OBJS:.o=.po} lib${LIB}_p.a:: ${POBJS} @echo building profiled ${LIB} library @rm -f lib${LIB}_p.a @${AR} cTq lib${LIB}_p.a `lorder ${POBJS} | tsort` ${LDADD} - ranlib lib${LIB}_p.a + ${RANLIB} lib${LIB}_p.a + +.if defined(DESTDIR) +LDDESTDIR?= -L${DESTDIR}/usr/lib +.endif + +.if defined(CPLUSPLUSLIB) && !make(clean) && !make(cleandir) +SOBJS+= ${DESTDIR}/usr/lib/c++rt0.o +.endif + +SOBJS+= ${OBJS:.o=.so} +lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}: ${SOBJS} + @echo building shared ${LIB} library \(version ${SHLIB_MAJOR}.${SHLIB_MINOR}\) + @rm -f lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} + @$(LD) -Bshareable \ + -o lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \ + ${SOBJS} ${LDDESTDIR} ${LDADD} ${SHARED_LDADD} + +lib${LIB}_pic.a:: ${SOBJS} + @echo building special pic ${LIB} library + @rm -f lib${LIB}_pic.a + @${AR} cTq lib${LIB}_pic.a ${SOBJS} ${LDADD} + ${RANLIB} lib${LIB}_pic.a llib-l${LIB}.ln: ${SRCS} ${LINT} -C${LIB} ${CFLAGS} ${.ALLSRC:M*.c} .if !target(clean) clean: - rm -f ${OBJS} - rm -f ${POBJS} - rm -f a.out [Ee]rrs mklog ${CLEANFILES} \ - profiled/*.o lib${LIB}.a lib${LIB}_p.a llib-l${LIB}.ln + rm -f a.out Errs errs mklog ${CLEANFILES} ${OBJS} + rm -f lib${LIB}.a llib-l${LIB}.ln + rm -f ${POBJS} profiled/*.o lib${LIB}_p.a + rm -f ${SOBJS} shared/*.o + rm -f lib${LIB}.so.*.* lib${LIB}_pic.a .endif .if !target(cleandir) cleandir: - rm -f ${OBJS} - rm -f ${POBJS} - rm -f a.out [Ee]rrs mklog ${CLEANFILES} \ - profiled/*.o lib${LIB}.a lib${LIB}_p.a llib-l${LIB}.ln - rm -f ${MANALL} .depend + rm -f a.out Errs errs mklog ${CLEANFILES} ${OBJS} + rm -f lib${LIB}.a llib-l${LIB}.ln + rm -f ${.CURDIR}/tags .depend + rm -f ${POBJS} profiled/*.o lib${LIB}_p.a + rm -f ${SOBJS} shared/*.o + rm -f lib${LIB}.so.*.* lib${LIB}_pic.a + cd ${.CURDIR}; rm -rf obj; .endif -.if !target(depend) -depend: .depend -.depend: ${SRCS} - mkdep ${CFLAGS:M-[ID]*} ${AINC} ${.ALLSRC} +.if defined(SRCS) +afterdepend: @(TMP=/tmp/_depend$$$$; \ - sed -e 's/^\([^\.]*\).o *:/\1.o \1.po:/' < .depend > $$TMP; \ - mv $$TMP .depend) + sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.po \1.so:/' < .depend > $$TMP; \ + mv $$TMP .depend) .endif .if !target(install) @@ -111,18 +206,25 @@ beforeinstall: .endif realinstall: beforeinstall - ranlib lib${LIB}.a - install -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} lib${LIB}.a \ + ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} lib${LIB}.a \ ${DESTDIR}${LIBDIR} ${RANLIB} -t ${DESTDIR}${LIBDIR}/lib${LIB}.a .if !defined(NOPROFILE) - ranlib lib${LIB}_p.a - install -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ + ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ lib${LIB}_p.a ${DESTDIR}${LIBDIR} ${RANLIB} -t ${DESTDIR}${LIBDIR}/lib${LIB}_p.a .endif -# install -c -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ -# llib-l${LIB}.ln ${DESTDIR}${LINTLIBDIR} +.if !defined(NOPIC) +.if defined(SHLIB_MAJOR) && defined(SHLIB_MINOR) + ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ + lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} ${DESTDIR}${LIBDIR} +.endif +.if defined(INSTALL_PIC_ARCHIVE) + ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ + lib${LIB}_pic.a ${DESTDIR}${LIBDIR} + ${RANLIB} -t ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a +.endif +.endif .if defined(LINKS) && !empty(LINKS) @set ${LINKS}; \ while test $$# -ge 2; do \ @@ -137,9 +239,10 @@ realinstall: beforeinstall .endif install: afterinstall -afterinstall: realinstall .if !defined(NOMAN) -afterinstall: maninstall +afterinstall: realinstall maninstall +.else +afterinstall: realinstall .endif .endif @@ -149,18 +252,23 @@ lint: .if !target(tags) tags: ${SRCS} - -ctags -f /dev/stdout ${.ALLSRC:M*.c} | \ - sed "s;\${.CURDIR}/;;" > ${.CURDIR}/tags + -cd ${.CURDIR}; ctags -f /dev/stdout ${.ALLSRC:M*.c} | \ + sed "s;\${.CURDIR}/;;" > tags .endif +.if !defined(NOMAN) .include +.elif !target(maninstall) +maninstall: +.endif + .if !target(obj) .if defined(NOOBJ) obj: .else obj: @cd ${.CURDIR}; rm -rf obj; \ - here=`pwd`; dest=/usr/obj/`echo $$here | sed 's,/usr/src/,,'`; \ + here=`pwd`; dest=/usr/obj`echo $$here | sed 's,^/usr/src,,'`; \ echo "$$here -> $$dest"; ln -s $$dest obj; \ if test -d /usr/obj -a ! -d $$dest; then \ mkdir -p $$dest; \ @@ -169,3 +277,5 @@ obj: fi; .endif .endif + +.include diff --git a/share/mk/bsd.man.mk b/share/mk/bsd.man.mk index 99f3a0e..7836d03 100644 --- a/share/mk/bsd.man.mk +++ b/share/mk/bsd.man.mk @@ -1,58 +1,102 @@ -# @(#)bsd.man.mk 8.1 (Berkeley) 6/8/93 +# from: @(#)bsd.man.mk 5.2 (Berkeley) 5/11/90 +# $Id: bsd.man.mk,v 1.6 1994/06/05 20:42:39 csgr Exp $ .if exists(${.CURDIR}/../Makefile.inc) .include "${.CURDIR}/../Makefile.inc" .endif +INSTALL?= install MANGRP?= bin MANOWN?= bin MANMODE?= 444 -MANDIR?= /usr/share/man/cat +MANDIR?= /usr/share/man/man +MANSRC?= ${.CURDIR} +MINSTALL= ${INSTALL} ${COPY} -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} -MINSTALL= install -c -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} +MCOMPRESS= gzip -f +BASENAME= basename +ZEXTENSION= .gz +.if !defined(NOMANCOMPRESS) +ZEXT= ${ZEXTENSION} +.else +ZEXT= +.endif + +MANALL= ${MAN1} ${MAN2} ${MAN3} ${MAN3F} ${MAN4} ${MAN5} \ + ${MAN6} ${MAN7} ${MAN8} -maninstall: +maninstall: ${MANDEPEND} .if defined(MAN1) && !empty(MAN1) - ${MINSTALL} ${MAN1} ${DESTDIR}${MANDIR}1${MANSUBDIR} + (cd ${MANSRC}; ${MINSTALL} ${MAN1} ${DESTDIR}${MANDIR}1${MANSUBDIR}) .endif .if defined(MAN2) && !empty(MAN2) - ${MINSTALL} ${MAN2} ${DESTDIR}${MANDIR}2${MANSUBDIR} + (cd ${MANSRC}; ${MINSTALL} ${MAN2} ${DESTDIR}${MANDIR}2${MANSUBDIR}) .endif .if defined(MAN3) && !empty(MAN3) - ${MINSTALL} ${MAN3} ${DESTDIR}${MANDIR}3${MANSUBDIR} + (cd ${MANSRC}; ${MINSTALL} ${MAN3} ${DESTDIR}${MANDIR}3${MANSUBDIR}) .endif .if defined(MAN3F) && !empty(MAN3F) - ${MINSTALL} ${MAN3F} ${DESTDIR}${MANDIR}3f${MANSUBDIR} + (cd ${MANSRC}; ${MINSTALL} ${MAN3F} ${DESTDIR}${MANDIR}3f${MANSUBDIR}) .endif .if defined(MAN4) && !empty(MAN4) - ${MINSTALL} ${MAN4} ${DESTDIR}${MANDIR}4${MANSUBDIR} + (cd ${MANSRC}; ${MINSTALL} ${MAN4} ${DESTDIR}${MANDIR}4${MANSUBDIR}) .endif .if defined(MAN5) && !empty(MAN5) - ${MINSTALL} ${MAN5} ${DESTDIR}${MANDIR}5${MANSUBDIR} + (cd ${MANSRC}; ${MINSTALL} ${MAN5} ${DESTDIR}${MANDIR}5${MANSUBDIR}) .endif .if defined(MAN6) && !empty(MAN6) - ${MINSTALL} ${MAN6} ${DESTDIR}${MANDIR}6${MANSUBDIR} + (cd ${MANSRC}; ${MINSTALL} ${MAN6} ${DESTDIR}${MANDIR}6${MANSUBDIR}) .endif .if defined(MAN7) && !empty(MAN7) - ${MINSTALL} ${MAN7} ${DESTDIR}${MANDIR}7${MANSUBDIR} + (cd ${MANSRC}; ${MINSTALL} ${MAN7} ${DESTDIR}${MANDIR}7${MANSUBDIR}) .endif .if defined(MAN8) && !empty(MAN8) - ${MINSTALL} ${MAN8} ${DESTDIR}${MANDIR}8${MANSUBDIR} + (cd ${MANSRC}; ${MINSTALL} ${MAN8} ${DESTDIR}${MANDIR}8${MANSUBDIR}) +.endif + +# by default all pages are compressed +# we don't handle .so's yet +.if !empty(MANALL:S/ //g) +.if !defined(NOMANCOMPRESS) + @set ${MANALL} ; \ + while test $$# -ge 1; do \ + name=`${BASENAME} $$1`; \ + sect=`expr $$name : '.*\.\([^.]*\)'`; \ + echo "compressing in" \ + "${DESTDIR}${MANDIR}$${sect}${MANSUBDIR}:" \ + "$$name -> $${name}${ZEXT}"; \ + ${MCOMPRESS} ${DESTDIR}${MANDIR}$${sect}${MANSUBDIR}/$$name ; \ + shift ; \ + done ; true +.else +# we are installing uncompressed pages, so nuke any compressed pages + @set ${MANALL} ; \ + while test $$# -ge 1; do \ + name=`${BASENAME} $$1`; \ + sect=`expr $$name : '.*\.\([^.]*\)'`; \ + rm -f ${DESTDIR}${MANDIR}$${sect}${MANSUBDIR}/$$name${ZEXTENSION};\ + shift ; \ + done ; true +.endif .endif + .if defined(MLINKS) && !empty(MLINKS) @set ${MLINKS}; \ while test $$# -ge 2; do \ name=$$1; \ shift; \ - dir=${DESTDIR}${MANDIR}`expr $$name : '[^\.]*\.\(.*\)'`; \ - l=$${dir}${MANSUBDIR}/`expr $$name : '\([^\.]*\)'`.0; \ + sect=`expr $$name : '.*\.\([^.]*\)'`; \ + dir=${DESTDIR}${MANDIR}$$sect; \ + l=$${dir}${MANSUBDIR}/$$name; \ name=$$1; \ shift; \ - dir=${DESTDIR}${MANDIR}`expr $$name : '[^\.]*\.\(.*\)'`; \ - t=$${dir}${MANSUBDIR}/`expr $$name : '\([^\.]*\)'`.0; \ - echo $$t -\> $$l; \ - rm -f $$t; \ - ln $$l $$t; \ + sect=`expr $$name : '.*\.\([^.]*\)'`; \ + dir=${DESTDIR}${MANDIR}$$sect; \ + t=$${dir}${MANSUBDIR}/$$name; \ + echo $${t}${ZEXT} -\> $${l}${ZEXT}; \ + rm -f $${t}${ZEXTENSION}; \ + rm -f $${t}; \ + ln $${l}${ZEXT} $${t}${ZEXT}; \ done; true .endif diff --git a/share/mk/bsd.prog.mk b/share/mk/bsd.prog.mk index a27f616..8a24d4d 100644 --- a/share/mk/bsd.prog.mk +++ b/share/mk/bsd.prog.mk @@ -1,15 +1,17 @@ -# @(#)bsd.prog.mk 8.2 (Berkeley) 4/2/94 +# from: @(#)bsd.prog.mk 5.26 (Berkeley) 6/25/91 +# $Id: bsd.prog.mk,v 1.28 1994/06/15 10:14:41 ache Exp $ -.if !defined(NOINCLUDE) && exists(${.CURDIR}/../Makefile.inc) +.if exists(${.CURDIR}/../Makefile.inc) .include "${.CURDIR}/../Makefile.inc" .endif -.SUFFIXES: .out .o .c .y .l .s .8 .7 .6 .5 .4 .3 .2 .1 .0 - -.8.0 .7.0 .6.0 .5.0 .4.0 .3.0 .2.0 .1.0: - nroff -man ${.IMPSRC} > ${.TARGET} +.SUFFIXES: .out .o .c .cc .cxx .C .y .l .s .S CFLAGS+=${COPTS} +.if defined(DESTDIR) +CFLAGS+= -I${DESTDIR}/usr/include +CXXINCLUDES+= -I${DESTDIR}/usr/include/${CXX} +.endif STRIP?= -s @@ -17,23 +19,59 @@ BINGRP?= bin BINOWN?= bin BINMODE?= 555 +INSTALL?= install +.if !defined(DESTDIR) +LIBCRT0?= /usr/lib/crt0.o LIBC?= /usr/lib/libc.a LIBCOMPAT?= /usr/lib/libcompat.a +LIBCRYPT?= /usr/lib/libcrypt.a LIBCURSES?= /usr/lib/libcurses.a LIBDBM?= /usr/lib/libdbm.a LIBDES?= /usr/lib/libdes.a +LIBGNUMALLOC?= /usr/lib/libgnumalloc.a +LIBGNUREGEX?= /usr/lib/libgnuregex.a LIBL?= /usr/lib/libl.a LIBKDB?= /usr/lib/libkdb.a LIBKRB?= /usr/lib/libkrb.a -LIBKVM?= /usr/lib/libkvm.a LIBM?= /usr/lib/libm.a LIBMP?= /usr/lib/libmp.a LIBPC?= /usr/lib/libpc.a LIBPLOT?= /usr/lib/libplot.a +LIBREADLINE?= /usr/lib/libreadline.a LIBRESOLV?= /usr/lib/libresolv.a -LIBRPC?= /usr/lib/sunrpc.a -LIBTERM?= /usr/lib/libterm.a +LIBRPCSVC?= /usr/lib/librpcsvc.a +LIBSKEY?= /usr/lib/libskey.a +LIBTELNET?= /usr/lib/libtelnet.a +LIBTERM?= /usr/lib/libtermcap.a LIBUTIL?= /usr/lib/libutil.a +.else +LIBCRT0?= ${DESTDIR}/usr/lib/crt0.o +LIBC?= ${DESTDIR}/usr/lib/libc.a +LIBCOMPAT?= ${DESTDIR}/usr/lib/libcompat.a +LIBCRYPT?= ${DESTDIR}/usr/lib/libcrypt.a +LIBCURSES?= ${DESTDIR}/usr/lib/libcurses.a +LIBDBM?= ${DESTDIR}/usr/lib/libdbm.a +LIBDES?= ${DESTDIR}/usr/lib/libdes.a +LIBGNUMALLOC?= ${DESTDIR}/usr/lib/libgnumalloc.a +LIBGNUREGEX?= ${DESTDIR}/usr/lib/libgnuregex.a +LIBL?= ${DESTDIR}/usr/lib/libl.a +LIBKDB?= ${DESTDIR}/usr/lib/libkdb.a +LIBKRB?= ${DESTDIR}/usr/lib/libkrb.a +LIBM?= ${DESTDIR}/usr/lib/libm.a +LIBMP?= ${DESTDIR}/usr/lib/libmp.a +LIBPC?= ${DESTDIR}/usr/lib/libpc.a +LIBPLOT?= ${DESTDIR}/usr/lib/libplot.a +LIBREADLINE?= ${DESTDIR}/usr/lib/libreadline.a +LIBRESOLV?= ${DESTDIR}/usr/lib/libresolv.a +LIBRPCSVC?= ${DESTDIR}/usr/lib/librpcsvc.a +LIBSKEY?= ${DESTDIR}/usr/lib/libskey.a +LIBTELNET?= ${DESTDIR}/usr/lib/libtelnet.a +LIBTERM?= ${DESTDIR}/usr/lib/libtermcap.a +LIBUTIL?= ${DESTDIR}/usr/lib/libutil.a +.endif +.if defined(NOSHARED) +LDFLAGS+= -static +.endif .if defined(SHAREDSTRINGS) CLEANFILES+=strings @@ -41,22 +79,44 @@ CLEANFILES+=strings ${CC} -E ${CFLAGS} ${.IMPSRC} | xstr -c - @${CC} ${CFLAGS} -c x.c -o ${.TARGET} @rm -f x.c + +.cc.o .cxx.o .C.o: + ${CXX} -E ${CXXFLAGS} ${.IMPSRC} | xstr -c - + @mv -f x.c x.cc + @${CXX} ${CXXFLAGS} -c x.cc -o ${.TARGET} + +.endif + +.if defined(DESTDIR) +LDDESTDIR?= -L${DESTDIR}/usr/lib .endif .if defined(PROG) .if defined(SRCS) -OBJS+= ${SRCS:R:S/$/.o/g} +DPSRCS+= ${SRCS:M*.h} +OBJS+= ${SRCS:N*.h:R:S/$/.o/g} + +.if defined(LDONLY) -${PROG}: ${OBJS} ${LIBC} ${DPADD} - ${CC} ${LDFLAGS} -o ${.TARGET} ${OBJS} ${LDADD} +${PROG}: ${LIBCRT0} ${LIBC} ${DPSRCS} ${OBJS} ${DPADD} + ${LD} ${LDFLAGS} -o ${.TARGET} ${LIBCRT0} ${OBJS} ${LIBC} ${LDDESTDR} \ + ${LDADD} -.else defined(SRCS) +.else defined(LDONLY) + +${PROG}: ${DPSRCS} ${OBJS} ${LIBC} ${DPADD} + ${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${OBJS} ${LDDESTDIR} ${LDADD} + +.endif + +.else defined(PROG) SRCS= ${PROG}.c -${PROG}: ${SRCS} ${LIBC} ${DPADD} - ${CC} ${CFLAGS} -o ${.TARGET} ${.CURDIR}/${SRCS} ${LDADD} +${PROG}: ${DPSRCS} ${SRCS} ${LIBC} ${DPADD} + ${CC} ${LDFLAGS} ${CFLAGS} -o ${.TARGET} ${.CURDIR}/${SRCS} \ + ${LDDESTDIR} ${LDADD} MKDEP= -p @@ -65,15 +125,9 @@ MKDEP= -p .if !defined(MAN1) && !defined(MAN2) && !defined(MAN3) && \ !defined(MAN4) && !defined(MAN5) && !defined(MAN6) && \ !defined(MAN7) && !defined(MAN8) && !defined(NOMAN) -MAN1= ${PROG}.0 +MAN1= ${PROG}.1 .endif .endif -.if !defined(NOMAN) -MANALL= ${MAN1} ${MAN2} ${MAN3} ${MAN4} ${MAN5} ${MAN6} ${MAN7} ${MAN8} -.else -MANALL= -.endif -manpages: ${MANALL} _PROGSUBDIR: .USE .if defined(SUBDIR) && !empty(SUBDIR) @@ -88,29 +142,19 @@ _PROGSUBDIR: .USE done .endif -.if !target(all) .MAIN: all -all: ${PROG} ${MANALL} _PROGSUBDIR -.endif +all: ${PROG} _PROGSUBDIR .if !target(clean) clean: _PROGSUBDIR - rm -f a.out [Ee]rrs mklog ${PROG}.core ${PROG} ${OBJS} ${CLEANFILES} + rm -f a.out [Ee]rrs mklog ${PROG} ${OBJS} ${CLEANFILES} .endif .if !target(cleandir) cleandir: _PROGSUBDIR - rm -f a.out [Ee]rrs mklog ${PROG}.core ${PROG} ${OBJS} ${CLEANFILES} - rm -f .depend ${MANALL} -.endif - -# some of the rules involve .h sources, so remove them from mkdep line -.if !target(depend) -depend: .depend _PROGSUBDIR -.depend: ${SRCS} -.if defined(PROG) - mkdep ${MKDEP} ${CFLAGS:M-[ID]*} ${.ALLSRC:M*.c} -.endif + rm -f a.out [Ee]rrs mklog ${PROG} ${OBJS} ${CLEANFILES} + rm -f ${.CURDIR}/tags .depend + cd ${.CURDIR}; rm -rf obj; .endif .if !target(install) @@ -123,8 +167,8 @@ afterinstall: realinstall: _PROGSUBDIR .if defined(PROG) - install ${STRIP} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \ - ${INSTALLFLAGS} ${PROG} ${DESTDIR}${BINDIR} + ${INSTALL} ${COPY} ${STRIP} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \ + ${PROG} ${DESTDIR}${BINDIR} .endif .if defined(HIDEGAME) (cd ${DESTDIR}/usr/games; rm -f ${PROG}; ln -s dm ${PROG}; \ @@ -143,8 +187,12 @@ realinstall: _PROGSUBDIR done; true .endif -install: afterinstall maninstall +install: afterinstall +.if !defined(NOMAN) +afterinstall: realinstall maninstall +.else afterinstall: realinstall +.endif realinstall: beforeinstall .endif @@ -161,7 +209,7 @@ obj: _PROGSUBDIR .else obj: _PROGSUBDIR @cd ${.CURDIR}; rm -rf obj; \ - here=`pwd`; dest=/usr/obj/`echo $$here | sed 's,/usr/src/,,'`; \ + here=`pwd`; dest=/usr/obj`echo $$here | sed 's,^/usr/src,,'`; \ echo "$$here -> $$dest"; ln -s $$dest obj; \ if test -d /usr/obj -a ! -d $$dest; then \ mkdir -p $$dest; \ @@ -171,31 +219,18 @@ obj: _PROGSUBDIR .endif .endif -.if !target(objdir) -.if defined(NOOBJ) -objdir: _PROGSUBDIR -.else -objdir: _PROGSUBDIR - @cd ${.CURDIR}; \ - here=`pwd`; dest=/usr/obj/`echo $$here | sed 's,/usr/src/,,'`; \ - if test -d /usr/obj -a ! -d $$dest; then \ - mkdir -p $$dest; \ - else \ - true; \ - fi; -.endif -.endif - .if !target(tags) tags: ${SRCS} _PROGSUBDIR .if defined(PROG) - -ctags -f /dev/stdout ${.ALLSRC} | \ - sed "s;${.CURDIR}/;;" > ${.CURDIR}/tags + -cd ${.CURDIR}; ctags -f /dev/stdout ${.ALLSRC} | \ + sed "s;\${.CURDIR}/;;" > tags .endif .endif .if !defined(NOMAN) .include -.else +.elif !target(maninstall) maninstall: .endif + +.include diff --git a/share/mk/bsd.subdir.mk b/share/mk/bsd.subdir.mk index 2ca9e83..ef41082 100644 --- a/share/mk/bsd.subdir.mk +++ b/share/mk/bsd.subdir.mk @@ -1,4 +1,5 @@ -# @(#)bsd.subdir.mk 8.1 (Berkeley) 6/8/93 +# from: @(#)bsd.subdir.mk 5.9 (Berkeley) 2/1/91 +# $Id: bsd.subdir.mk,v 1.5 1994/01/31 06:10:40 rgrimes Exp $ .MAIN: all @@ -11,13 +12,15 @@ BINMODE?= 555 _SUBDIRUSE: .USE @for entry in ${SUBDIR}; do \ (if test -d ${.CURDIR}/$${entry}.${MACHINE}; then \ - echo "===> $${entry}.${MACHINE}"; \ - cd ${.CURDIR}/$${entry}.${MACHINE}; \ + echo "===> ${DIRPRFX}$${entry}.${MACHINE}"; \ + edir=$${entry}.${MACHINE}; \ + cd ${.CURDIR}/$${edir}; \ else \ - echo "===> $$entry"; \ - cd ${.CURDIR}/$${entry}; \ + echo "===> ${DIRPRFX}$$entry"; \ + edir=$${entry}; \ + cd ${.CURDIR}/$${edir}; \ fi; \ - ${MAKE} ${.TARGET:realinstall=install}); \ + ${MAKE} ${.TARGET:realinstall=install} DIRPRFX=${DIRPRFX}$$edir/); \ done ${SUBDIR}:: @@ -44,8 +47,8 @@ cleandir: _SUBDIRUSE depend: _SUBDIRUSE .endif -.if !target(manpages) -manpages: _SUBDIRUSE +.if !target (maninstall) +maninstall: _SUBDIRUSE .endif .if !target(install) @@ -59,9 +62,6 @@ install: afterinstall afterinstall: realinstall realinstall: beforeinstall _SUBDIRUSE .endif -.if !target(maninstall) -maninstall: _SUBDIRUSE -.endif .if !target(lint) lint: _SUBDIRUSE @@ -71,10 +71,6 @@ lint: _SUBDIRUSE obj: _SUBDIRUSE .endif -.if !target(objdir) -objdir: _SUBDIRUSE -.endif - .if !target(tags) tags: _SUBDIRUSE .endif diff --git a/share/mk/sys.mk b/share/mk/sys.mk index fd86a9d..154bd51 100644 --- a/share/mk/sys.mk +++ b/share/mk/sys.mk @@ -1,60 +1,59 @@ -# @(#)sys.mk 8.2 (Berkeley) 3/21/94 +# from: @(#)sys.mk 5.11 (Berkeley) 3/13/91 +# $Id: sys.mk,v 1.7 1994/06/13 21:02:48 csgr Exp $ -unix ?= We run UNIX. +unix= We run FreeBSD, not UNIX. -.SUFFIXES: .out .a .ln .o .c .F .f .e .r .y .l .s .cl .p .h +.SUFFIXES: .out .a .ln .o .c .cc .cxx .C .F .f .e .r .y .l .s .cl .p .h .LIBS: .a -AR ?= ar -ARFLAGS ?= rl -RANLIB ?= ranlib +AR= ar +ARFLAGS= rl +RANLIB= ranlib -AS ?= as -AFLAGS ?= +AS= as +AFLAGS= -CC ?= gcc +CC= cc +CFLAGS= -O -.if ${MACHINE} == "sparc" -CFLAGS ?= -O4 -.else -CFLAGS ?= -O2 -.endif - -CPP ?= cpp +CXX= g++ +CXXFLAGS= ${CXXINCLUDES} ${CFLAGS} -FC ?= f77 -FFLAGS ?= -O -EFLAGS ?= +CPP= cpp -LEX ?= lex -LFLAGS ?= +FC= f77 +FFLAGS= -O +EFLAGS= -LD ?= ld -LDFLAGS ?= +LEX= lex +LFLAGS= -LINT ?= lint -LINTFLAGS ?= -chapbx +LD= ld +LDFLAGS= -MAKE ?= make +LINT= lint +LINTFLAGS= -chapbx -PC ?= pc -PFLAGS ?= +MAKE= make -RC ?= f77 -RFLAGS ?= +PC= pc +PFLAGS= -SHELL ?= sh +RC= f77 +RFLAGS= -YACC ?= yacc -YFLAGS ?= -d +SHELL= sh -.c: - ${CC} ${CFLAGS} ${.IMPSRC} -o ${.TARGET} +YACC= yacc +YFLAGS=-d .c.o: ${CC} ${CFLAGS} -c ${.IMPSRC} +.cc.o .cxx.o .C.o: + ${CXX} ${CXXFLAGS} -c ${.IMPSRC} + .p.o: ${PC} ${PFLAGS} -c ${.IMPSRC} @@ -99,3 +98,9 @@ YFLAGS ?= -d ${LEX} ${LFLAGS} ${.IMPSRC} ${CC} ${CFLAGS} lex.yy.c ${LDLIBS} -ll -o ${.TARGET} rm -f lex.yy.c + +.include + +.if exists(/etc/make.conf) +.include +.endif -- cgit v1.1