diff options
Diffstat (limited to 'bootstrap/mods/mk/OpenBSD.bsd.prog.mk')
-rw-r--r-- | bootstrap/mods/mk/OpenBSD.bsd.prog.mk | 176 |
1 files changed, 176 insertions, 0 deletions
diff --git a/bootstrap/mods/mk/OpenBSD.bsd.prog.mk b/bootstrap/mods/mk/OpenBSD.bsd.prog.mk new file mode 100644 index 00000000000..1e54a5f7fdb --- /dev/null +++ b/bootstrap/mods/mk/OpenBSD.bsd.prog.mk @@ -0,0 +1,176 @@ +# $NetBSD: OpenBSD.bsd.prog.mk,v 1.1.1.1 2004/03/11 13:04:00 grant Exp $ +# From: +# OpenBSD: bsd.prog.mk,v 1.30 2001/08/23 16:39:33 art Exp +# NetBSD: bsd.prog.mk,v 1.55 1996/04/08 21:19:26 jtc Exp +# @(#)bsd.prog.mk 5.26 (Berkeley) 6/25/91 + +.if exists(${.CURDIR}/../Makefile.inc) +.include "${.CURDIR}/../Makefile.inc" +.endif + +.include <bsd.own.mk> + +.SUFFIXES: .out .o .c .cc .C .cxx .y .l .s .8 .7 .6 .5 .4 .3 .2 .1 .0 + +.if ${WARNINGS:L} == "yes" +CFLAGS+= ${CDIAGFLAGS} +CXXFLAGS+= ${CXXDIAGFLAGS} +.endif +CFLAGS+= ${COPTS} +CXXFLAGS+= ${CXXOPTS} + +.if (${MACHINE_ARCH} == "powerpc") || (${MACHINE_ARCH} == "alpha") || (${MACHINE_ARCH} == "sparc64") +CRTBEGIN?= ${DESTDIR}/usr/lib/crtbegin.o +CRTEND?= ${DESTDIR}/usr/lib/crtend.o +.endif + +LIBCRT0?= ${DESTDIR}/usr/lib/crt0.o +LIBC?= ${DESTDIR}/usr/lib/libc.a +LIBCOMPAT?= ${DESTDIR}/usr/lib/libcompat.a +LIBCURSES?= ${DESTDIR}/usr/lib/libcurses.a +LIBCRYPTO?= ${DESTDIR}/usr/lib/libcrypto.a +LIBDBM?= ${DESTDIR}/usr/lib/libdbm.a +LIBDES?= ${DESTDIR}/usr/lib/libdes.a +LIBEDIT?= ${DESTDIR}/usr/lib/libedit.a +LIBGCC?= ${DESTDIR}/usr/lib/libgcc.a +LIBKDB?= ${DESTDIR}/usr/lib/libkdb.a +LIBKEYNOTE?= ${DESTDIR}/usr/lib/libkeynote.a +LIBKRB?= ${DESTDIR}/usr/lib/libkrb.a +LIBKAFS?= ${DESTDIR}/usr/lib/libkafs.a +LIBKVM?= ${DESTDIR}/usr/lib/libkvm.a +LIBL?= ${DESTDIR}/usr/lib/libl.a +LIBM?= ${DESTDIR}/usr/lib/libm.a +LIBMP?= ${DESTDIR}/usr/lib/libmp.a +LIBOLDCURSES?= ${DESTDIR}/usr/lib/libocurses.a +LIBPC?= ${DESTDIR}/usr/lib/libpc.a +LIBPERL?= ${DESTDIR}/usr/lib/libperl.a +LIBPLOT?= ${DESTDIR}/usr/lib/libplot.a +LIBRESOLV?= ${DESTDIR}/usr/lib/libresolv.a +LIBRPCSVC?= ${DESTDIR}/usr/lib/librpcsvc.a +LIBSKEY?= ${DESTDIR}/usr/lib/libskey.a +LIBSSL?= ${DESTDIR}/usr/lib/libssl.a +LIBTELNET?= ${DESTDIR}/usr/lib/libtelnet.a +LIBTERMCAP?= ${DESTDIR}/usr/lib/libtermcap.a +LIBTERMLIB?= ${DESTDIR}/usr/lib/libtermlib.a +LIBUTIL?= ${DESTDIR}/usr/lib/libutil.a +LIBWRAP?= ${DESTDIR}/usr/lib/libwrap.a +LIBY?= ${DESTDIR}/usr/lib/liby.a +LIBZ?= ${DESTDIR}/usr/lib/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 + +.cxx.o: + ${CXX} -E ${CXXFLAGS} ${.IMPSRC} | xstr -c - + @mv -f x.c x.cxx + @${CXX} ${CXXFLAGS} -c x.cxx -o ${.TARGET} + @rm -f x.cxx +.endif + + +.if defined(PROG) +SRCS?= ${PROG}.c +.if !empty(SRCS:N*.h:N*.sh) +OBJS+= ${SRCS:N*.h:N*.sh:R:S/$/.o/g} +LOBJS+= ${LSRCS:.c=.ln} ${SRCS:M*.c:.c=.ln} +.endif + +.if defined(OBJS) && !empty(OBJS) +.if defined(DESTDIR) + +${PROG}: ${LIBCRT0} ${OBJS} ${LIBC} ${CRTBEGIN} ${CRTEND} ${DPADD} + ${CC} ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} -nostdlib -L${DESTDIR}/usr/lib ${LIBCRT0} ${CRTBEGIN} ${OBJS} ${LDADD} -lgcc -lc -lgcc ${CRTEND} + +.else + +${PROG}: ${LIBCRT0} ${OBJS} ${LIBC} ${CRTBEGIN} ${CRTEND} ${DPADD} + ${CC} ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} ${OBJS} ${LDADD} + +.endif # defined(DESTDIR) +.endif # defined(OBJS) && !empty(OBJS) + +.if !defined(MAN) +MAN= ${PROG}.1 +.endif # !defined(MAN) +.endif # defined(PROG) + +.MAIN: all +all: ${PROG} _SUBDIRUSE + +.if !target(clean) +clean: _SUBDIRUSE + rm -f a.out [Ee]rrs mklog core *.core \ + ${PROG} ${OBJS} ${LOBJS} ${CLEANFILES} +.endif + +cleandir: _SUBDIRUSE clean + +.if !target(install) +.if !target(beforeinstall) +beforeinstall: +.endif +.if !target(afterinstall) +afterinstall: +.endif + +.if !target(realinstall) +realinstall: +.if defined(PROG) + ${INSTALL} ${INSTALL_COPY} ${INSTALL_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}) +.endif +.endif + +install: maninstall _SUBDIRUSE +.if defined(LINKS) && !empty(LINKS) +. for lnk file in ${LINKS} + @l=${DESTDIR}${lnk}; \ + t=${DESTDIR}${file}; \ + echo $$t -\> $$l; \ + rm -f $$t; ln $$l $$t +. endfor +.endif + +maninstall: afterinstall +afterinstall: realinstall +realinstall: beforeinstall +.endif + +.if !target(lint) +lint: ${LOBJS} +.if defined(LOBJS) && !empty(LOBJS) + @${LINT} ${LINTFLAGS} ${LDFLAGS:M-L*} ${LOBJS} ${LDADD} +.endif +.endif + +.if !defined(NOMAN) +.include <bsd.man.mk> +.endif + +.if !defined(NONLS) +.include <bsd.nls.mk> +.endif + +.include <bsd.obj.mk> +.include <bsd.dep.mk> +.include <bsd.subdir.mk> +.include <bsd.sys.mk> |