Return to bsd.prog.mk CVS log | Up to [local] / src / share / mk |
File: [local] / src / share / mk / bsd.prog.mk (download)
Revision 1.53, Sun Apr 8 15:56:28 2012 UTC (12 years, 1 month ago) by jsg
unhook lint from the tree. The parser is incomplete and difficult to fix and there are several alternatives that don't tell quite so many dangerous lies. enthusiastic agreement from a bunch of people |
# $OpenBSD: bsd.prog.mk,v 1.53 2012/04/08 15:56:28 jsg 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 ${ELF_TOOLCHAIN:L} == "yes" CRTBEGIN?= ${DESTDIR}/usr/lib/crtbegin.o CRTEND?= ${DESTDIR}/usr/lib/crtend.o .endif LIBCRT0?= ${DESTDIR}/usr/lib/crt0.o LIBASN1?= ${DESTDIR}/usr/lib/libasn1.a LIBC?= ${DESTDIR}/usr/lib/libc.a LIBCOMPAT?= ${DESTDIR}/usr/lib/libcompat.a LIBCOM_ERR?= ${DESTDIR}/usr/lib/libcom_err.a LIBCRYPTO?= ${DESTDIR}/usr/lib/libcrypto.a LIBCURSES?= ${DESTDIR}/usr/lib/libcurses.a LIBEDIT?= ${DESTDIR}/usr/lib/libedit.a LIBEVENT?= ${DESTDIR}/usr/lib/libevent.a LIBEXPAT?= ${DESTDIR}/usr/lib/libexpat.a LIBFORM?= ${DESTDIR}/usr/lib/libform.a LIBFORMW?= ${DESTDIR}/usr/lib/libformw.a LIBGSSAPI?= ${DESTDIR}/usr/lib/libgssapi.a LIBHDB?= ${DESTDIR}/usr/lib/libhdb.a LIBKADM5CLNT?= ${DESTDIR}/usr/lib/libkadm5clnt.a LIBKADM5SRV?= ${DESTDIR}/usr/lib/libkadm5srv.a LIBKAFS?= ${DESTDIR}/usr/lib/libkafs.a LIBKEYNOTE?= ${DESTDIR}/usr/lib/libkeynote.a LIBKRB5?= ${DESTDIR}/usr/lib/libkrb5.a LIBKVM?= ${DESTDIR}/usr/lib/libkvm.a LIBL?= ${DESTDIR}/usr/lib/libl.a LIBM?= ${DESTDIR}/usr/lib/libm.a LIBMENU?= ${DESTDIR}/usr/lib/libmenu.a LIBMENUW?= ${DESTDIR}/usr/lib/libmenuw.a LIBOLDCURSES?= ${DESTDIR}/usr/lib/libocurses.a LIBOSSAUDIO?= ${DESTDIR}/usr/lib/libossaudio.a LIBPANEL?= ${DESTDIR}/usr/lib/libpanel.a LIBPANELW?= ${DESTDIR}/usr/lib/libpanelw.a LIBPCAP?= ${DESTDIR}/usr/lib/libpcap.a LIBPERL?= ${DESTDIR}/usr/lib/libperl.a LIBPTHREAD?= ${DESTDIR}/usr/lib/libpthread.a LIBRPCSVC?= ${DESTDIR}/usr/lib/librpcsvc.a LIBSKEY?= ${DESTDIR}/usr/lib/libskey.a LIBSNDIO?= ${DESTDIR}/usr/lib/libsndio.a LIBSSL?= ${DESTDIR}/usr/lib/libssl.a LIBTERMCAP?= ${DESTDIR}/usr/lib/libtermcap.a LIBTERMLIB?= ${DESTDIR}/usr/lib/libtermlib.a LIBUSB?= ${DESTDIR}/usr/lib/libusbhid.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 ${MACHINE_ARCH} == "alpha" || ${MACHINE_ARCH} == "amd64" || \ ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "i386" LIBARCH?= ${DESTDIR}/usr/lib/lib${MACHINE_ARCH}.a .else LIBARCH?= .endif .if defined(PROG) SRCS?= ${PROG}.c . if !empty(SRCS:N*.h:N*.sh) OBJS+= ${SRCS:N*.h:N*.sh:R:S/$/.o/} _LEXINTM+=${SRCS:M*.l:.l=.c} _YACCINTM+=${SRCS:M*.y:.y=.c} . endif . if defined(OBJS) && !empty(OBJS) . if !empty(SRCS:M*.C) || !empty(SRCS:M*.cc) || !empty(SRCS:M*.cxx) ${PROG}: ${LIBCRT0} ${OBJS} ${LIBC} ${CRTBEGIN} ${CRTEND} ${DPADD} ${CXX} ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} ${OBJS} ${LDADD} . else ${PROG}: ${LIBCRT0} ${OBJS} ${LIBC} ${CRTBEGIN} ${CRTEND} ${DPADD} ${CC} ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} ${OBJS} ${LDADD} . endif . 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 y.tab.h \ ${PROG} ${OBJS} ${_LEXINTM} ${_YACCINTM} ${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} -S ${INSTALL_STRIP} \ -o ${BINOWN} -g ${BINGRP} \ -m ${BINMODE} ${PROG} ${DESTDIR}${BINDIR}/${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 !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>