[BACK]Return to bsd.manyprog.mk CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / othersrc / nastore / nasutil

File: [cvs.NetBSD.org] / othersrc / nastore / nasutil / bsd.manyprog.mk (download)

Revision 1.1.1.1 (vendor branch), Mon Feb 28 02:18:17 2000 UTC (24 years, 1 month ago) by wrstuden
Branch: NAS, MAIN
CVS Tags: nastore3-beta-20000227, HEAD
Changes since 1.1: +0 -0 lines

Import of snapshot of nastore3 code. Includes kernel code for dmfs, dmfs
user utilities, ms66 import and export, vvm, and volman. Also includes
makefile magic to automatically generate .tgz source files from the source.
Solaris support a bit of a question as zoularis is not working at the
moment.

#	$NetBSD: bsd.manyprog.mk,v 1.1.1.1 2000/02/28 02:18:17 wrstuden Exp $
#	@(#)bsd.prog.mk	8.2 (Berkeley) 4/2/94

.if !target(__initialized__)
__initialized__:
.if exists(${.CURDIR}/../Makefile.inc)
.include "${.CURDIR}/../Makefile.inc"
.endif
.include <bsd.own.mk>
.include <bsd.obj.mk>
.MAIN:		all
.endif

.PHONY:		cleanprog proginstall scriptsinstall
realinstall:	proginstall scriptsinstall
clean cleandir distclean: cleanprog

CFLAGS+=	${COPTS}

# ELF platforms depend on crtbegin.o and crtend.o
.if ${OBJECT_FMT} == "ELF" && ${OPSYS} == "NetBSD.1"
LIBCRTBEGIN?=	${DESTDIR}/usr/lib/crtbegin.o
LIBCRTEND?=	${DESTDIR}/usr/lib/crtend.o
.else
LIBCRTBEGIN?=
LIBCRTEND?=
.endif

.if ${OPSYS} == "NetBSD.1"
LIB_STD?=	${DESTDIR}/usr/lib
LIB_EXT?=	${DESTDIR}/usr/lib
LIBCRT0?=	${LIB_STD}/crt0.o
.else
LIB_STD?=	${DESTDIR}/usr/lib
LIB_EXT?=	${DESTDIR}${USRDIR}/lib
.endif

LIBBFD?=	${LIB_EXT}/libbfd.a
LIBBZ2?=	${LIB_EXT}/libbz2.a
LIBC?=		${LIB_STD}/libc.a
LIBC_PIC?=	${LIB_STD}/libc_pic.a
LIBCOMPAT?=	${LIB_EXT}/libcompat.a
LIBCRYPT?=	${LIB_EXT}/libcrypt.a
LIBCURSES?=	${LIB_STD}/libcurses.a
LIBDBM?=	${LIB_EXT}/libdbm.a
LIBDES?=	${LIB_EXT}/libdes.a
LIBEDIT?=	${LIB_EXT}/libedit.a
LIBGCC?=	${LIB_EXT}/libgcc.a
LIBGNUMALLOC?=	${LIB_EXT}/libgnumalloc.a
LIBKDB?=	${LIB_EXT}/libkdb.a
LIBKRB?=	${LIB_EXT}/libkrb.a
LIBKVM?=	${LIB_EXT}/libkvm.a
LIBL?=		${LIB_STD}/libl.a
LIBM?=		${LIB_STD}/libm.a
LIBMP?=		${LIB_EXT}/libmp.a
LIBNTP?=	${LIB_EXT}/libntp.a
LIBOBJC?=	${LIB_EXT}/libobjc.a
LIBPC?=		${LIB_EXT}/libpc.a
LIBPCAP?=	${LIB_EXT}/libpcap.a
LIBPLOT?=	${LIB_EXT}/libplot.a
LIBPOSIX?=	${LIB_EXT}/libposix.a
LIBRESOLV?=	${LIB_EXT}/libresolv.a
LIBRPCSVC?=	${LIB_EXT}/librpcsvc.a
LIBSKEY?=	${LIB_EXT}/libskey.a
LIBTERMCAP?=	${LIB_EXT}/libtermcap.a
LIBTELNET?=	${LIB_EXT}/libtelnet.a
LIBUTIL?=	${LIB_EXT}/libutil.a
LIBWRAP?=	${LIB_EXT}/libwrap.a
LIBY?=		${LIB_STD}/liby.a
LIBZ?=		${LIB_EXT}/libz.a

.if defined(SHAREDSTRINGS)
CLEANFILES+=strings
.c.o:
	${CC} -E ${CFLAGS} ${.IMPSRC} | xstr -c -
	@${CC} ${CFLAGS} -c x.c -o ${.TARGET}
	@rm -f x.c

.cc.o:
	${CXX} -E ${CXXFLAGS} ${.IMPSRC} | xstr -c -
	@mv -f x.c x.cc
	@${CXX} ${CXXFLAGS} -c x.cc -o ${.TARGET}
	@rm -f x.cc

.C.o:
	${CXX} -E ${CXXFLAGS} ${.IMPSRC} | xstr -c -
	@mv -f x.c x.C
	@${CXX} ${CXXFLAGS} -c x.C -o ${.TARGET}
	@rm -f x.C
.endif


.if defined(PROGS)
SRCS+=			${SRCS_ALL}
LDADD+=			${LDADD_ALL}
.for PROG in ${PROGS}
SRCS_${PROG}?=		${PROG}.c
SRCS+=			${SRCS_${PROG}}
SRCS_${PROG}+=		${SRCS_ALL}

DPSRCS_${PROG}+=	${SRCS_${PROG}:M*.l:.l=.c} ${SRCS_${PROG}:M*.y:.y=.c}
DPSRCS+=		${DPSRCS_${PROG}}
CLEANFILES+=	${DPSRCS_${PROG}}
.if defined(YHEADER)
CLEANFILES+=	${SRCS_${PROG}:M*.y:.y=.h}
.endif

.if !empty(SRCS_${PROG}:N*.h:N*.sh)
OBJS_${PROG}+=		${SRCS_${PROG}:N*.h:N*.sh:R:S/$/.o/g}
LOBJS_${PROG}+=		${LSRCS_${PROG}:.c=.ln} ${SRCS_${PROG}:M*.c:.c=.ln}
OBJS+=			${OBJS_${PROG}}
LOBJS+=			${LOBJS_${PROG}}
.endif

LDADD+=			LDADD_${PROG}
LDADD_${PROG}+=		${LDADD_ALL}

.if defined(OBJS_${PROG}) && !empty(OBJS_${PROG})
.NOPATH: ${OBJS_${PROG}}
${PROG}: ${LIBCRT0} ${DPSRCS_${PROG}} ${OBJS_${PROG}} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${DPADD_${PROG}}
.if defined(DESTDIR) && ${OPSYS} == "NetBSD.1"
	${CC} ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} -nostdlib -L${DESTDIR}/usr/lib ${LIBCRT0} ${LIBCRTBEGIN} ${OBJS_${PROG}} ${LDADD_${PROG}} -lgcc -lc -lgcc ${LIBCRTEND}
.else
	${CC} ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} ${OBJS_${PROG}} ${LDADD_${PROG}}
.endif	# defined(DESTDIR) && ${OPSYS} == "NetBSD.1"
.endif	# defined(OBJS) && !empty(OBJS)

.endfor	# for PROG
.endif	# defined(PROG)

all: ${PROGS}

cleanprog:
	rm -f a.out [Ee]rrs mklog core *.core \
	    ${PROGS} ${OBJS} ${LOBJS} ${CLEANFILES}

.if defined(SRCS)
afterdepend: .depend
	@(TMP=/tmp/_depend$$$$; \
	    sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.ln:/' \
	      < .depend > $$TMP; \
	    mv $$TMP .depend)
.endif

.if defined(PROGS) && !target(proginstall)
.for PROG in ${PROGS}
PROGNAME_${PROG}?= ${PROG}
BINDIR_${PROG}?=	${BINDIR}
BINOWN_${PROG}?=	${BINOWN}
BINMODE_${PROG}?=	${BINMODE}
BINGRP_${PROG}?=	${BINGRP}
proginstall:: ${DESTDIR}${BINDIR_${PROG}}/${PROGNAME_${PROG}}
.if !defined(UPDATE)
.PHONY: ${DESTDIR}${BINDIR_${PROG}}/${PROGNAME_${PROG}}
.endif
.if !defined(BUILD)
${DESTDIR}${BINDIR_${PROG}}/${PROGNAME_${PROG}}: .MADE
.endif

.PRECIOUS: ${DESTDIR}${BINDIR_${PROG}}/${PROGNAME_${PROG}}
${DESTDIR}${BINDIR_${PROG}}/${PROGNAME_${PROG}}: ${PROG}
	${INSTALL} ${RENAME} ${PRESERVE} ${COPY} ${STRIPFLAG} \
	    -o ${BINOWN_${PROG}} -g ${BINGRP_${PROG}} -m ${BINMODE_${PROG}} \
	    ${.ALLSRC} ${.TARGET}
.endfor	# PROG
.endif

.if !target(proginstall)
proginstall::
.endif

.if defined(SCRIPTS) && !target(scriptsinstall)
SCRIPTSDIR?=${BINDIR}
SCRIPTSOWN?=${BINOWN}
SCRIPTSGRP?=${BINGRP}
SCRIPTSMODE?=${BINMODE}
.for S in ${SCRIPTS}
SCRIPTSDIR_${S}?=${SCRIPTSDIR}
SCRIPTSOWN_${S}?=${SCRIPTSOWN}
SCRIPTSGRP_${S}?=${SCRIPTSGRP}
SCRIPTSMODE_${S}?=${SCRIPTSMODE}
.if defined(SCRIPTSNAME)
SCRIPTSNAME_${S} ?= ${SCRIPTSNAME}
.else
SCRIPTSNAME_${S} ?= ${S:T:R}
.endif
SCRIPTSDIR_${S} ?= ${SCRIPTSDIR}
scriptsinstall:: ${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}}
.if !defined(UPDATE)
.PHONY: ${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}}
.endif
.if !defined(BUILD)
${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}}: .MADE
.endif

.PRECIOUS: ${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}}
${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}}: ${S}
	${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${SCRIPTSOWN_${S}} -g \
	    ${SCRIPTSGRP_${S}} -m ${SCRIPTSMODE_${S}} ${.ALLSRC} ${.TARGET}
.endfor
.endif

.if !target(scriptsinstall)
scriptsinstall::
.endif

lint: ${LOBJS}
.if defined(LOBJS) && !empty(LOBJS)
.for PROG in ${PROGS}
	${LINT} ${LINTFLAGS} ${LDFLAGS:M-L*} ${LOBJS_${PROG}} ${LDADD_${PROG}}
.endfor
.endif

.include <bsd.man.mk>
.include <bsd.nls.mk>
.include <bsd.files.mk>
.include <bsd.inc.mk>
.include <bsd.links.mk>
.include <bsd.dep.mk>
.include <bsd.sys.mk>

# Make sure all of the standard targets are defined, even if they do nothing.
regress: