[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.8

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