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

1.9     ! mickey      1: #      $OpenBSD: bsd.prog.mk,v 1.8 1997/01/15 00:36:56 niklas 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.9     ! mickey     45: LIBZ?=         ${DESTDIR}/usr/lib/libz.a
1.1       deraadt    46:
                     47: .if defined(SHAREDSTRINGS)
                     48: CLEANFILES+=strings
                     49: .c.o:
                     50:        ${CC} -E ${CFLAGS} ${.IMPSRC} | xstr -c -
                     51:        @${CC} ${CFLAGS} -c x.c -o ${.TARGET}
                     52:        @rm -f x.c
                     53:
                     54: .cc.o:
                     55:        ${CXX} -E ${CXXFLAGS} ${.IMPSRC} | xstr -c -
                     56:        @mv -f x.c x.cc
                     57:        @${CXX} ${CXXFLAGS} -c x.cc -o ${.TARGET}
                     58:        @rm -f x.cc
                     59:
                     60: .C.o:
                     61:        ${CXX} -E ${CXXFLAGS} ${.IMPSRC} | xstr -c -
                     62:        @mv -f x.c x.C
                     63:        @${CXX} ${CXXFLAGS} -c x.C -o ${.TARGET}
                     64:        @rm -f x.C
                     65: .endif
                     66:
                     67:
                     68: .if defined(PROG)
                     69: SRCS?= ${PROG}.c
                     70: .if !empty(SRCS:N*.h:N*.sh)
                     71: OBJS+= ${SRCS:N*.h:N*.sh:R:S/$/.o/g}
                     72: LOBJS+=        ${LSRCS:.c=.ln} ${SRCS:M*.c:.c=.ln}
                     73: .endif
                     74:
                     75: .if defined(OBJS) && !empty(OBJS)
                     76: .if defined(DESTDIR)
                     77:
1.8       niklas     78: ${PROG}: ${LIBCRT0} ${OBJS} ${LIBC} ${CRTBEGIN} ${CRTEND} ${DPADD}
                     79:        ${CC} ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} -nostdlib -L${DESTDIR}/usr/lib ${LIBCRT0} ${CRTBEGIN} ${OBJS} ${LDADD} -lgcc -lc -lgcc ${CRTEND}
1.1       deraadt    80:
                     81: .else
                     82:
1.8       niklas     83: ${PROG}: ${LIBCRT0} ${OBJS} ${LIBC} ${CRTBEGIN} ${CRTEND} ${DPADD}
1.1       deraadt    84:        ${CC} ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} ${OBJS} ${LDADD}
                     85:
                     86: .endif # defined(DESTDIR)
                     87: .endif # defined(OBJS) && !empty(OBJS)
                     88:
                     89: .if    !defined(MAN)
                     90: MAN=   ${PROG}.1
                     91: .endif # !defined(MAN)
                     92: .endif # defined(PROG)
                     93:
                     94: .MAIN: all
                     95: all: ${PROG} _SUBDIRUSE
                     96:
                     97: .if !target(clean)
                     98: clean: _SUBDIRUSE
                     99:        rm -f a.out [Ee]rrs mklog core *.core \
                    100:            ${PROG} ${OBJS} ${LOBJS} ${CLEANFILES}
                    101: .endif
                    102:
                    103: cleandir: _SUBDIRUSE clean
                    104:
                    105: .if !target(install)
                    106: .if !target(beforeinstall)
                    107: beforeinstall:
                    108: .endif
                    109: .if !target(afterinstall)
                    110: afterinstall:
                    111: .endif
                    112:
                    113: .if !target(realinstall)
                    114: realinstall:
                    115: .if defined(PROG)
1.7       downsj    116:        ${INSTALL} ${COPY} ${STRIP} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
1.1       deraadt   117:            ${PROG} ${DESTDIR}${BINDIR}
                    118: .endif
                    119: .if defined(HIDEGAME)
                    120:        (cd ${DESTDIR}/usr/games; rm -f ${PROG}; ln -s dm ${PROG})
                    121: .endif
                    122: .endif
                    123:
                    124: install: maninstall _SUBDIRUSE
                    125: .if defined(LINKS) && !empty(LINKS)
                    126:        @set ${LINKS}; \
                    127:        while test $$# -ge 2; do \
1.6       mickey    128:                l=${DESTDIR}$$1; \
1.1       deraadt   129:                shift; \
1.6       mickey    130:                t=${DESTDIR}$$1; \
1.1       deraadt   131:                shift; \
                    132:                echo $$t -\> $$l; \
                    133:                rm -f $$t; \
                    134:                ln $$l $$t; \
                    135:        done; true
                    136: .endif
                    137:
                    138: maninstall: afterinstall
                    139: afterinstall: realinstall
                    140: realinstall: beforeinstall
                    141: .endif
                    142:
                    143: .if !target(lint)
                    144: lint: ${LOBJS}
                    145: .if defined(LOBJS) && !empty(LOBJS)
                    146:        @${LINT} ${LINTFLAGS} ${LDFLAGS:M-L*} ${LOBJS} ${LDADD}
                    147: .endif
                    148: .endif
                    149:
                    150: .if !defined(NOMAN)
                    151: .include <bsd.man.mk>
                    152: .endif
                    153:
                    154: .if !defined(NONLS)
                    155: .include <bsd.nls.mk>
                    156: .endif
                    157:
                    158: .include <bsd.obj.mk>
                    159: .include <bsd.dep.mk>
                    160: .include <bsd.subdir.mk>
1.3       deraadt   161: .include <bsd.sys.mk>