[BACK]Return to bsd.prog.mk CVS log [TXT][DIR] Up to [local] / src / share / mk

Annotation of src/share/mk/bsd.prog.mk, Revision 1.2

1.2     ! mickey      1: #      $OpenBSD$
1.1       deraadt     2: #      $NetBSD: bsd.prog.mk,v 1.53 1995/06/25 22:29:02 cgd Exp $
                      3: #      @(#)bsd.prog.mk 5.26 (Berkeley) 6/25/91
                      4:
                      5: .if exists(${.CURDIR}/../Makefile.inc)
                      6: .include "${.CURDIR}/../Makefile.inc"
                      7: .endif
                      8:
                      9: .include <bsd.own.mk>
                     10:
                     11: .SUFFIXES: .out .o .c .cc .C .y .l .s .8 .7 .6 .5 .4 .3 .2 .1 .0
                     12:
                     13: CFLAGS+=       ${COPTS}
                     14:
                     15: LIBCRT0?=      ${DESTDIR}/usr/lib/crt0.o
                     16: LIBC?=         ${DESTDIR}/usr/lib/libc.a
                     17: LIBCOMPAT?=    ${DESTDIR}/usr/lib/libcompat.a
                     18: LIBCRYPT?=     ${DESTDIR}/usr/lib/libcrypt.a
                     19: LIBCURSES?=    ${DESTDIR}/usr/lib/libcurses.a
                     20: LIBDBM?=       ${DESTDIR}/usr/lib/libdbm.a
                     21: LIBDES?=       ${DESTDIR}/usr/lib/libdes.a
                     22: LIBEDIT?=      ${DESTDIR}/usr/lib/libedit.a
                     23: LIBGCC?=       ${DESTDIR}/usr/lib/libgcc.a
                     24: LIBL?=         ${DESTDIR}/usr/lib/libl.a
                     25: LIBKDB?=       ${DESTDIR}/usr/lib/libkdb.a
                     26: LIBKRB?=       ${DESTDIR}/usr/lib/libkrb.a
                     27: LIBKVM?=       ${DESTDIR}/usr/lib/libkvm.a
                     28: LIBM?=         ${DESTDIR}/usr/lib/libm.a
                     29: LIBMP?=                ${DESTDIR}/usr/lib/libmp.a
                     30: LIBPC?=                ${DESTDIR}/usr/lib/libpc.a
                     31: LIBPLOT?=      ${DESTDIR}/usr/lib/libplot.a
                     32: LIBRESOLV?=    ${DESTDIR}/usr/lib/libresolv.a
                     33: LIBRPCSVC?=    ${DESTDIR}/usr/lib/librpcsvc.a
                     34: LIBSKEY?=      ${DESTDIR}/usr/lib/libskey.a
                     35: LIBTERMCAP?=   ${DESTDIR}/usr/lib/libtermcap.a
                     36: LIBUTIL?=      ${DESTDIR}/usr/lib/libutil.a
                     37:
                     38: .if defined(SHAREDSTRINGS)
                     39: CLEANFILES+=strings
                     40: .c.o:
                     41:        ${CC} -E ${CFLAGS} ${.IMPSRC} | xstr -c -
                     42:        @${CC} ${CFLAGS} -c x.c -o ${.TARGET}
                     43:        @rm -f x.c
                     44:
                     45: .cc.o:
                     46:        ${CXX} -E ${CXXFLAGS} ${.IMPSRC} | xstr -c -
                     47:        @mv -f x.c x.cc
                     48:        @${CXX} ${CXXFLAGS} -c x.cc -o ${.TARGET}
                     49:        @rm -f x.cc
                     50:
                     51: .C.o:
                     52:        ${CXX} -E ${CXXFLAGS} ${.IMPSRC} | xstr -c -
                     53:        @mv -f x.c x.C
                     54:        @${CXX} ${CXXFLAGS} -c x.C -o ${.TARGET}
                     55:        @rm -f x.C
                     56: .endif
                     57:
                     58:
                     59: .if defined(PROG)
                     60: SRCS?= ${PROG}.c
                     61: .if !empty(SRCS:N*.h:N*.sh)
                     62: OBJS+= ${SRCS:N*.h:N*.sh:R:S/$/.o/g}
                     63: LOBJS+=        ${LSRCS:.c=.ln} ${SRCS:M*.c:.c=.ln}
                     64: .endif
                     65:
                     66: .if defined(OBJS) && !empty(OBJS)
                     67: .if defined(DESTDIR)
                     68:
                     69: ${PROG}: ${LIBCRT0} ${OBJS} ${LIBC} ${DPADD}
                     70:        ${CC} ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} -nostdlib -L${DESTDIR}/usr/lib ${LIBCRT0} ${OBJS} ${LDADD} -lgcc -lc -lgcc
                     71:
                     72: .else
                     73:
                     74: ${PROG}: ${LIBCRT0} ${OBJS} ${LIBC} ${DPADD}
                     75:        ${CC} ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} ${OBJS} ${LDADD}
                     76:
                     77: .endif # defined(DESTDIR)
                     78: .endif # defined(OBJS) && !empty(OBJS)
                     79:
                     80: .if    !defined(MAN)
                     81: MAN=   ${PROG}.1
                     82: .endif # !defined(MAN)
                     83: .endif # defined(PROG)
                     84:
                     85: .MAIN: all
                     86: all: ${PROG} _SUBDIRUSE
                     87:
                     88: .if !target(clean)
                     89: clean: _SUBDIRUSE
                     90:        rm -f a.out [Ee]rrs mklog core *.core \
                     91:            ${PROG} ${OBJS} ${LOBJS} ${CLEANFILES}
                     92: .endif
                     93:
                     94: cleandir: _SUBDIRUSE clean
                     95:
                     96: .if !target(install)
                     97: .if !target(beforeinstall)
                     98: beforeinstall:
                     99: .endif
                    100: .if !target(afterinstall)
                    101: afterinstall:
                    102: .endif
                    103:
                    104: .if !target(realinstall)
                    105: realinstall:
                    106: .if defined(PROG)
                    107:        install ${COPY} ${STRIP} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
                    108:            ${PROG} ${DESTDIR}${BINDIR}
                    109: .endif
                    110: .if defined(HIDEGAME)
                    111:        (cd ${DESTDIR}/usr/games; rm -f ${PROG}; ln -s dm ${PROG})
                    112: .endif
                    113: .endif
                    114:
                    115: install: maninstall _SUBDIRUSE
                    116: .if defined(LINKS) && !empty(LINKS)
                    117:        @set ${LINKS}; \
                    118:        while test $$# -ge 2; do \
                    119:                l=${DESTDIR}$$1; \
                    120:                shift; \
                    121:                t=${DESTDIR}$$1; \
                    122:                shift; \
                    123:                echo $$t -\> $$l; \
                    124:                rm -f $$t; \
                    125:                ln $$l $$t; \
                    126:        done; true
                    127: .endif
                    128:
                    129: maninstall: afterinstall
                    130: afterinstall: realinstall
                    131: realinstall: beforeinstall
                    132: .endif
                    133:
                    134: .if !target(lint)
                    135: lint: ${LOBJS}
                    136: .if defined(LOBJS) && !empty(LOBJS)
                    137:        @${LINT} ${LINTFLAGS} ${LDFLAGS:M-L*} ${LOBJS} ${LDADD}
                    138: .endif
                    139: .endif
                    140:
                    141: .if !defined(NOMAN)
                    142: .include <bsd.man.mk>
                    143: .endif
                    144:
                    145: .if !defined(NONLS)
                    146: .include <bsd.nls.mk>
                    147: .endif
                    148:
                    149: .include <bsd.obj.mk>
                    150: .include <bsd.dep.mk>
                    151: .include <bsd.subdir.mk>