94e55d40f9
put the stuff into the right "distribution". As default things end up in "bindist". Normal (ie: most) makefiles know naught of this. More commits will follow, which will direct various parts of the tree into the distribution we want them in. Some of the grief of being release-engineer is supposed to go away with this.
162 lines
3.3 KiB
Makefile
162 lines
3.3 KiB
Makefile
# From: @(#)bsd.prog.mk 5.26 (Berkeley) 6/25/91
|
|
# $Id: bsd.kmod.mk,v 1.3 1994/09/26 22:34:04 wollman Exp $
|
|
|
|
.if exists(${.CURDIR}/../Makefile.inc)
|
|
.include "${.CURDIR}/../Makefile.inc"
|
|
.endif
|
|
|
|
.SUFFIXES: .out .o .c .cc .cxx .C .y .l .s .S
|
|
|
|
#
|
|
# Assume that we are in /usr/src/foo/bar, so /sys is
|
|
# ${.CURDIR}/../../sys. We don't bother adding a .PATH since nothing
|
|
# actually lives in /sys directly.
|
|
#
|
|
CFLAGS+=${COPTS} -DKERNEL -I${.CURDIR}/../../sys -W -Wcomment -Wredundant-decls
|
|
|
|
KMODGRP?= bin
|
|
KMODOWN?= bin
|
|
KMODMODE?= 555
|
|
|
|
INSTALL?= install
|
|
|
|
.if defined(VFS_LKM)
|
|
CFLAGS+= -DVFS_LKM -DMODVNOPS=${KMOD}vnops -I.
|
|
SRCS+= vnode_if.h
|
|
CLEANFILES+= vnode_if.h vnode_if.c
|
|
.endif
|
|
|
|
DPSRCS+= ${SRCS:M*.h}
|
|
OBJS+= ${SRCS:N*.h:R:S/$/.o/g}
|
|
|
|
.if !defined(PROG)
|
|
PROG= ${KMOD}.o
|
|
.endif
|
|
|
|
${PROG}: ${DPSRCS} ${OBJS} ${DPADD}
|
|
${LD} -r ${LDFLAGS} -o ${.TARGET} ${OBJS}
|
|
|
|
MKDEP= -p
|
|
|
|
.if !defined(MAN1) && !defined(MAN2) && !defined(MAN3) && \
|
|
!defined(MAN4) && !defined(MAN5) && !defined(MAN6) && \
|
|
!defined(MAN7) && !defined(MAN8) && !defined(NOMAN)
|
|
MAN1= ${KMOD}.4
|
|
.endif
|
|
|
|
_PROGSUBDIR: .USE
|
|
.if defined(SUBDIR) && !empty(SUBDIR)
|
|
@for entry in ${SUBDIR}; do \
|
|
(${ECHODIR} "===> $$entry"; \
|
|
if test -d ${.CURDIR}/$${entry}.${MACHINE}; then \
|
|
cd ${.CURDIR}/$${entry}.${MACHINE}; \
|
|
else \
|
|
cd ${.CURDIR}/$${entry}; \
|
|
fi; \
|
|
${MAKE} ${.TARGET:S/realinstall/install/:S/.depend/depend/}); \
|
|
done
|
|
.endif
|
|
|
|
.MAIN: all
|
|
all: ${PROG} _PROGSUBDIR
|
|
|
|
.if !target(clean)
|
|
clean: _PROGSUBDIR
|
|
rm -f a.out [Ee]rrs mklog ${PROG} ${OBJS} ${CLEANFILES}
|
|
.endif
|
|
|
|
.if !target(cleandir)
|
|
cleandir: _PROGSUBDIR
|
|
rm -f a.out [Ee]rrs mklog ${PROG} ${OBJS} ${CLEANFILES}
|
|
rm -f ${.CURDIR}/tags .depend
|
|
cd ${.CURDIR}; rm -rf obj;
|
|
.endif
|
|
|
|
.if !target(install)
|
|
.if !target(beforeinstall)
|
|
beforeinstall:
|
|
.endif
|
|
.if !target(afterinstall)
|
|
afterinstall:
|
|
.endif
|
|
|
|
realinstall: _PROGSUBDIR
|
|
${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
|
|
${INSTALLFLAGS} ${PROG} ${DESTDIR}${BINDIR}
|
|
.if defined(LINKS) && !empty(LINKS)
|
|
@set ${LINKS}; \
|
|
while test $$# -ge 2; do \
|
|
l=${DESTDIR}$$1; \
|
|
shift; \
|
|
t=${DESTDIR}$$1; \
|
|
shift; \
|
|
${ECHO} $$t -\> $$l; \
|
|
rm -f $$t; \
|
|
ln $$l $$t; \
|
|
done; true
|
|
.endif
|
|
|
|
install: afterinstall
|
|
.if !defined(NOMAN)
|
|
afterinstall: realinstall maninstall
|
|
.else
|
|
afterinstall: realinstall
|
|
.endif
|
|
realinstall: beforeinstall
|
|
.endif
|
|
|
|
DISTRIBUTION?= bindist
|
|
.if !target(distribute)
|
|
distribute:
|
|
cd ${.CURDIR} ; $(MAKE) install DESTDIR=${RELEASEDIR}/${DISTRIBUTION} SHARED=copies
|
|
.endif
|
|
|
|
.if !target(obj)
|
|
.if defined(NOOBJ)
|
|
obj: _PROGSUBDIR
|
|
.else
|
|
obj: _PROGSUBDIR
|
|
@cd ${.CURDIR}; rm -rf obj; \
|
|
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; \
|
|
else \
|
|
true; \
|
|
fi;
|
|
.endif
|
|
.endif
|
|
|
|
.if !target(tags)
|
|
tags: ${SRCS} _PROGSUBDIR
|
|
.if defined(PROG)
|
|
-cd ${.CURDIR}; ctags -f /dev/stdout ${.ALLSRC} | \
|
|
sed "s;\${.CURDIR}/;;" > tags
|
|
.endif
|
|
.endif
|
|
|
|
.if !defined(NOMAN)
|
|
.include <bsd.man.mk>
|
|
.elif !target(maninstall)
|
|
maninstall:
|
|
.endif
|
|
|
|
.if !target(load)
|
|
load: ${PROG}
|
|
/sbin/modload -o ${KMOD} -e${KMOD} ${PROG}
|
|
.endif
|
|
|
|
.if !target(unload)
|
|
unload: ${PROG}
|
|
/sbin/modunload -n ${KMOD}
|
|
.endif
|
|
|
|
KERN= ${.CURDIR}/../../sys/kern
|
|
|
|
vnode_if.h: ${KERN}/vnode_if.sh ${KERN}/vnode_if.src
|
|
sh ${KERN}/vnode_if.sh ${KERN}/vnode_if.src
|
|
|
|
./vnode_if.h: vnode_if.h
|
|
|
|
.include <bsd.dep.mk>
|