Annotation of src/Makefile, Revision 1.70
1.70 ! art 1: # $OpenBSD: Makefile,v 1.69 2001/06/26 18:00:16 brad Exp $
1.1 deraadt 2:
1.16 deraadt 3: #
4: # For more information on building in tricky environments, please see
5: # the list of possible environment variables described in
6: # /usr/share/mk/bsd.README.
7: #
8: # Building recommendations:
9: #
10: # 1) If at all possible, put this source tree in /usr/src. If /usr/src
11: # must be a symbolic link, setenv BSDSRCDIR to point to the real location.
12: #
13: # 2) It is also recommended that you compile with objects outside the
14: # source tree. To do this, ensure /usr/obj exists or points to some
15: # area of disk of sufficient size. Then do "cd /usr/src; make obj".
16: # This will make a symbolic link called "obj" in each directory, as
17: # well as populate the /usr/obj properly with directories for the
18: # objects.
19: #
1.41 art 20: # 3) It is strongly recommended that you build and install a new kernel
21: # before rebuilding your system. Some of the new programs may use new
22: # functionality or depend on API changes that your old kernel doesn't have.
23: #
24: # 4) If you are reasonably sure that things will compile OK, use the
1.16 deraadt 25: # "make build" target supplied here. Good luck.
1.38 mickey 26: #
1.41 art 27: # 5) If you want to setup a cross-build environment, there is a "cross-tools"
1.38 mickey 28: # target available which upon completion of "make TARGET=<target> cross-tools"
29: # (where <target> is one of the names in the /sys/arch directory) will produce
30: # a set of compilation tools along with the includes in the /usr/cross/<target>
31: # directory.
32: #
1.16 deraadt 33:
1.6 mickey 34: .include <bsd.own.mk> # for NOMAN, if it's there.
1.1 deraadt 35:
36: SUBDIR+= lib include bin libexec sbin usr.bin usr.sbin share games
37: SUBDIR+= gnu
38:
1.5 tholo 39: SUBDIR+= sys lkm
1.1 deraadt 40:
1.58 espie 41: .if (${KERBEROS:L} == "yes")
1.2 tholo 42: SUBDIR+= kerberosIV
1.21 deraadt 43: .endif
44:
1.68 hin 45: .if (${KERBEROS5:L} == "yes")
46: SUBDIR+= kerberosV
47: .endif
48:
1.21 deraadt 49: .if make(clean) || make(cleandir) || make(obj)
50: SUBDIR+= distrib
1.4 tholo 51: .endif
1.2 tholo 52:
1.1 deraadt 53: .if exists(regress)
54: .ifmake !(install)
55: SUBDIR+= regress
56: .endif
57:
58: regression-tests:
59: @echo Running regression tests...
1.66 espie 60: @cd ${.CURDIR}/regress && exec ${MAKE} regress
1.1 deraadt 61: .endif
1.10 deraadt 62:
63: includes:
1.67 niklas 64: cd ${.CURDIR}/include && ${MAKE} prereq && exec ${SUDO} ${MAKE} includes
1.1 deraadt 65:
1.7 deraadt 66: beforeinstall:
1.66 espie 67: cd ${.CURDIR}/etc && exec ${MAKE} DESTDIR=${DESTDIR} distrib-dirs
68: cd ${.CURDIR}/include && exec ${MAKE} includes
1.1 deraadt 69:
70: afterinstall:
71: .ifndef NOMAN
1.66 espie 72: cd ${.CURDIR}/share/man && exec ${MAKE} makedb
1.1 deraadt 73: .endif
74:
75: build:
1.19 kstailey 76: .ifdef GLOBAL_AUTOCONF_CACHE
1.60 angelos 77: cp /dev/null ${GLOBAL_AUTOCONF_CACHE}
1.18 kstailey 78: .endif
1.66 espie 79: cd ${.CURDIR}/share/mk && exec ${SUDO} ${MAKE} install
80: cd ${.CURDIR}/include && ${MAKE} prereq && exec ${SUDO} ${MAKE} includes
1.43 millert 81: ${SUDO} ${MAKE} cleandir
1.66 espie 82: cd ${.CURDIR}/lib && ${MAKE} depend && ${MAKE} && \
83: NOMAN=1 exec ${SUDO} ${MAKE} install
84: cd ${.CURDIR}/gnu/lib && ${MAKE} depend && ${MAKE} && \
85: NOMAN=1 exec ${SUDO} ${MAKE} install
1.58 espie 86: .if (${KERBEROS:L} == "yes")
1.66 espie 87: cd ${.CURDIR}/kerberosIV/lib && ${MAKE} depend && ${MAKE} && \
88: NOMAN=1 exec ${SUDO} ${MAKE} install
1.54 niklas 89: .endif
1.68 hin 90: .if (${KERBEROS5:L} == "yes")
91: cd ${.CURDIR}/kerberosV/lib && ${MAKE} depend && ${MAKE} && \
92: NOMAN=1 exec ${SUDO} ${MAKE} install
93: .endif
1.66 espie 94: cd ${.CURDIR}/gnu/usr.bin/perl && \
1.51 millert 95: ${MAKE} -f Makefile.bsd-wrapper depend && \
96: ${MAKE} -f Makefile.bsd-wrapper perl.lib && \
1.66 espie 97: exec ${SUDO} ${MAKE} -f Makefile.bsd-wrapper install.lib
98: ${MAKE} depend && ${MAKE} && exec ${SUDO} ${MAKE} install
1.15 niklas 99:
100: .if !defined(TARGET)
101: cross-tools:
102: echo "TARGET must be set"; exit 1
103: .else
1.48 imp 104: cross-tools: cross-helpers cross-dirs cross-includes cross-binutils \
105: cross-gcc cross-lib
1.15 niklas 106:
107: CROSSDIR= ${DESTDIR}/usr/cross/${TARGET}
1.32 niklas 108: CROSSENV= AR=${CROSSDIR}/usr/bin/ar AS=${CROSSDIR}/usr/bin/as \
109: CC=${CROSSDIR}/usr/bin/cc CPP=${CROSSDIR}/usr/bin/cpp \
110: LD=${CROSSDIR}/usr/bin/ld NM=${CROSSDIR}/usr/bin/nm \
1.47 imp 111: LORDER=${CROSSDIR}/usr/bin/lorder \
1.32 niklas 112: RANLIB=${CROSSDIR}/usr/bin/ranlib \
113: SIZE=${CROSSDIR}/usr/bin/size STRIP=${CROSSDIR}/usr/bin/strip \
1.34 niklas 114: HOSTCC=cc
1.63 niklas 115: CROSSPATH= ${PATH}:${CROSSDIR}/usr/bin
1.15 niklas 116:
1.70 ! art 117: .if (${TARGET} == "sparc64")
! 118: CROSSENV+= CPPFLAGS=-D__arch64__
! 119: CPPFLAGS=-D__arch64__
! 120: .endif
! 121:
1.15 niklas 122: cross-helpers:
1.69 brad 123: @-mkdir -p ${CROSSDIR}
1.15 niklas 124: echo _MACHINE_ARCH | \
125: cat ${.CURDIR}/sys/arch/${TARGET}/include/param.h - | \
1.70 ! art 126: ${CPP} ${CPPFLAGS} -E -I${.CURDIR}/sys/arch | \
1.25 mickey 127: sed -n '$$p' >${CROSSDIR}/TARGET_ARCH
1.15 niklas 128: eval `grep '^osr=' sys/conf/newvers.sh`; \
129: sed "s/\$$/-unknown-openbsd$$osr/" ${CROSSDIR}/TARGET_ARCH > \
130: ${CROSSDIR}/TARGET_CANON
131:
1.48 imp 132: cross-dirs: ${CROSSDIR}/stamp.dirs
133: @-mkdir -p ${CROSSDIR}
134: @-mkdir -p ${CROSSDIR}/usr/obj
135: @-mkdir -p ${CROSSDIR}/usr/bin
136: @-mkdir -p ${CROSSDIR}/usr/include
1.63 niklas 137: @-mkdir -p ${CROSSDIR}/usr/include/kerberosIV
1.68 hin 138: @-mkdir -p ${CROSSDIR}/usr/include/kerberosV
1.48 imp 139: @-mkdir -p ${CROSSDIR}/usr/lib
1.63 niklas 140: @-mkdir -p ${CROSSDIR}/usr/libexec
1.48 imp 141: @-mkdir -p ${CROSSDIR}/var/db
142: @-mkdir -p ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`
143: @ln -sf ${CROSSDIR}/usr/include \
144: ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/include
145: @ln -sf ${CROSSDIR}/usr/lib \
146: ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/lib
147: @-mkdir -p ${CROSSDIR}/usr/obj
148: @-mkdir -p ${CROSSDIR}/usr/bin
149: @-mkdir -p ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin
150:
151: ${CROSSDIR}/stamp.dirs:
152: @touch ${CROSSDIR}/stamp.dirs
153:
154: cross-includes: cross-dirs
1.63 niklas 155: cd include; \
156: MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
157: ${MAKE} prereq && \
158: MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
1.47 imp 159: ${MAKE} DESTDIR=${CROSSDIR} includes
1.15 niklas 160:
1.27 niklas 161: .if ${TARGET} == "powerpc" || ${TARGET} == "alpha" || ${TARGET} == "arc" || \
1.70 ! art 162: ${TARGET} == "pmax" || ${TARGET} == "wgrisc" || ${TARGET} == "hppa" || \
! 163: ${TARGET} == "sparc64"
1.27 niklas 164: cross-binutils: cross-binutils-new
165: .else
166: cross-binutils: cross-binutils-old
167: .endif
168:
1.48 imp 169: cross-binutils-new: cross-dirs
1.15 niklas 170: export BSDSRCDIR=`pwd`; \
171: (cd ${.CURDIR}/gnu/usr.bin/binutils; \
172: BSDOBJDIR=${CROSSDIR}/usr/obj \
173: MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
174: ${MAKE} -f Makefile.bsd-wrapper obj); \
175: (cd ${CROSSDIR}/usr/obj/gnu/usr.bin/binutils; \
1.25 mickey 176: /bin/sh ${BSDSRCDIR}/gnu/usr.bin/binutils/configure \
1.15 niklas 177: --prefix ${CROSSDIR}/usr \
1.59 art 178: --disable-nls --disable-gdbtk --disable-commonbfdlib \
1.15 niklas 179: --target `cat ${CROSSDIR}/TARGET_CANON` && \
1.65 todd 180: ${MAKE} CFLAGS=${CFLAGS} && ${MAKE} install ) && \
1.15 niklas 181: ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 755 \
1.52 mickey 182: ${.CURDIR}/usr.bin/lorder/lorder.sh \
1.35 mickey 183: ${CROSSDIR}/usr/bin/lorder
1.24 niklas 184:
1.29 niklas 185: cross-binutils-old: cross-gas cross-ar cross-ld cross-strip cross-size \
186: cross-ranlib cross-nm
1.64 niklas 187: for cmd in ar as ld nm ranlib size strip; do \
188: ln -sf $$cmd \
189: ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-$$cmd; done
1.27 niklas 190:
1.48 imp 191: cross-gas: cross-dirs
1.36 mickey 192: (cd ${.CURDIR}/gnu/usr.bin/gas; \
1.24 niklas 193: BSDOBJDIR=${CROSSDIR}/usr/obj \
194: BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.32 niklas 195: ${MAKE} obj; \
1.24 niklas 196: TARGET_MACHINE_ARCH=${TARGET} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.32 niklas 197: ${MAKE}; \
1.27 niklas 198: TARGET_MACHINE_ARCH=${TARGET} \
199: DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
200: ${MAKE} NOMAN= install)
201: ln -sf ${CROSSDIR}/usr/bin/as \
202: ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/as
203:
1.48 imp 204: cross-ld: cross-dirs
1.36 mickey 205: (cd ${.CURDIR}/gnu/usr.bin/ld; \
1.27 niklas 206: BSDOBJDIR=${CROSSDIR}/usr/obj \
207: BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.32 niklas 208: ${MAKE} obj; \
1.27 niklas 209: TARGET_MACHINE_ARCH=${TARGET} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.32 niklas 210: ${MAKE} NOMAN=; \
1.27 niklas 211: TARGET_MACHINE_ARCH=${TARGET} \
212: DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
213: ${MAKE} NOMAN= install)
214: ln -sf ${CROSSDIR}/usr/bin/ld \
215: ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ld
216:
1.48 imp 217: cross-ar: cross-dirs
1.36 mickey 218: (cd ${.CURDIR}/usr.bin/ar; \
1.27 niklas 219: BSDOBJDIR=${CROSSDIR}/usr/obj \
220: BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.32 niklas 221: ${MAKE} obj; \
222: MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN=; \
1.24 niklas 223: DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
224: ${MAKE} NOMAN= install)
1.27 niklas 225: ln -sf ${CROSSDIR}/usr/bin/ar \
226: ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ar
1.29 niklas 227:
1.48 imp 228: cross-ranlib: cross-dirs
1.36 mickey 229: (cd ${.CURDIR}/usr.bin/ranlib; \
1.29 niklas 230: BSDOBJDIR=${CROSSDIR}/usr/obj \
231: BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.32 niklas 232: ${MAKE} obj; \
233: MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN=; \
1.29 niklas 234: DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
235: ${MAKE} NOMAN= install)
236: ln -sf ${CROSSDIR}/usr/bin/ranlib \
237: ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ranlib
238:
1.48 imp 239: cross-strip: cross-dirs
1.36 mickey 240: (cd ${.CURDIR}/usr.bin/strip; \
1.29 niklas 241: BSDOBJDIR=${CROSSDIR}/usr/obj \
242: BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.32 niklas 243: ${MAKE} obj; \
1.29 niklas 244: MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.32 niklas 245: ${MAKE} TARGET_MACHINE_ARCH=${TARGET} NOMAN=; \
1.29 niklas 246: DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
247: ${MAKE} TARGET_MACHINE_ARCH=${TARGET} NOMAN= install)
248: ln -sf ${CROSSDIR}/usr/bin/strip \
249: ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/strip
250:
1.48 imp 251: cross-size: cross-dirs
1.36 mickey 252: (cd ${.CURDIR}/usr.bin/size; \
1.29 niklas 253: BSDOBJDIR=${CROSSDIR}/usr/obj \
254: BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.32 niklas 255: ${MAKE} obj; \
256: MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
257: ${MAKE} TARGET_MACHINE_ARCH=${TARGET} NOMAN=; \
1.29 niklas 258: DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
259: ${MAKE} NOMAN= install)
260: ln -sf ${CROSSDIR}/usr/bin/size \
261: ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/size
262:
1.48 imp 263: cross-nm: cross-dirs
1.36 mickey 264: (cd ${.CURDIR}/usr.bin/nm; \
1.29 niklas 265: BSDOBJDIR=${CROSSDIR}/usr/obj \
266: BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.32 niklas 267: ${MAKE} obj; \
268: MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
269: ${MAKE} TARGET_MACHINE_ARCH=${TARGET} NOMAN=; \
1.29 niklas 270: DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
271: ${MAKE} NOMAN= install)
272: ln -sf ${CROSSDIR}/usr/bin/nm \
273: ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/nm
1.15 niklas 274:
1.48 imp 275: cross-gcc: cross-dirs
1.52 mickey 276: cd ${.CURDIR}/gnu/egcs/gcc; \
1.15 niklas 277: BSDOBJDIR=${CROSSDIR}/usr/obj BSDSRCDIR=${.CURDIR} \
278: MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.32 niklas 279: ${MAKE} -f Makefile.bsd-wrapper obj
1.52 mickey 280: (cd ${CROSSDIR}/usr/obj/gnu/egcs/gcc; \
281: /bin/sh ${.CURDIR}/gnu/egcs/gcc/configure \
1.15 niklas 282: --prefix ${CROSSDIR}/usr \
283: --target `cat ${CROSSDIR}/TARGET_CANON` && \
1.63 niklas 284: PATH=${CROSSPATH} ${MAKE} BISON=yacc LANGUAGES=c \
285: LDFLAGS=${LDSTATIC} build_infodir=. \
1.62 mickey 286: GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" && \
1.26 mickey 287: ${MAKE} BISON=yacc LANGUAGES=c LDFLAGS=${LDSTATIC} \
1.62 mickey 288: GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" \
1.32 niklas 289: build_infodir=. INSTALL_MAN= INSTALL_HEADERS_DIR= install)
1.31 niklas 290: ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-gcc \
291: ${CROSSDIR}/usr/bin/cc
1.63 niklas 292: ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
293: ${CROSSDIR}/usr/obj/gnu/egcs/gcc/xcpp \
294: ${CROSSDIR}/usr/libexec/cpp
295: sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/libexec/cpp#' \
1.36 mickey 296: -e 's#/usr/include#${CROSSDIR}/usr/include#' \
297: ${.CURDIR}/usr.bin/cpp/cpp.sh > ${CROSSDIR}/usr/bin/cpp
1.31 niklas 298: chmod ${BINMODE} ${CROSSDIR}/usr/bin/cpp
1.63 niklas 299: chown ${BINOWN}:${BINGRP} ${CROSSDIR}/usr/bin/cpp
1.32 niklas 300:
1.46 niklas 301: # XXX MAKEOBJDIR maybe should be obj.${TARGET} here, revisit later
1.48 imp 302: cross-lib: cross-dirs
1.32 niklas 303: MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH`; \
304: export MACHINE MACHINE_ARCH; \
1.36 mickey 305: (cd ${.CURDIR}/lib; \
1.32 niklas 306: BSDOBJDIR=${CROSSDIR}/usr/obj \
307: BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
308: ${MAKE} obj; \
309: for lib in csu libc; do \
310: (cd $$lib; \
1.34 niklas 311: ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.46 niklas 312: ${MAKE} NOMAN= depend; \
313: ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.34 niklas 314: ${MAKE} NOMAN=; \
1.39 mickey 315: ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
316: DESTDIR=${CROSSDIR} ${MAKE} NOMAN= install); \
1.32 niklas 317: done; \
1.46 niklas 318: ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
319: ${MAKE} NOMAN= depend; \
1.34 niklas 320: ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN=; \
1.39 mickey 321: ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
322: DESTDIR=${CROSSDIR} SKIPDIR=libocurses/PSD.doc \
323: ${MAKE} NOMAN= install)
1.58 espie 324: .if (${KERBEROS:L} == "yes")
1.63 niklas 325: MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH`; \
326: export MACHINE MACHINE_ARCH; \
327: cd kerberosIV/lib; \
1.68 hin 328: BSDOBJDIR=${CROSSDIR}/usr/obj BSDSRCDIR=${.CURDIR} \
329: MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} obj; \
330: ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
331: ${MAKE} NOMAN= depend; \
332: ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN=; \
333: ${CROSSENV} DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
334: ${MAKE} NOMAN= install
335: .endif
336: .if (${KERBEROS5:L} == "yes")
337: MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH`; \
338: export MACHINE MACHINE_ARCH; \
339: cd kerberosV/lib; \
1.63 niklas 340: BSDOBJDIR=${CROSSDIR}/usr/obj BSDSRCDIR=${.CURDIR} \
341: MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} obj; \
342: ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
343: ${MAKE} NOMAN= depend; \
344: ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN=; \
345: ${CROSSENV} DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
346: ${MAKE} NOMAN= install
1.47 imp 347: .endif
1.15 niklas 348: .endif
1.1 deraadt 349:
350: .include <bsd.subdir.mk>