1*71e87bb9Skstailey# $OpenBSD: Makefile,v 1.19 1997/07/29 03:37:03 kstailey Exp $ 2df930be7Sderaadt# $NetBSD: Makefile,v 1.25 1995/10/09 02:11:28 thorpej Exp $ 3df930be7Sderaadt 45034ab0fSderaadt# 55034ab0fSderaadt# For more information on building in tricky environments, please see 65034ab0fSderaadt# the list of possible environment variables described in 75034ab0fSderaadt# /usr/share/mk/bsd.README. 85034ab0fSderaadt# 95034ab0fSderaadt# Building recommendations: 105034ab0fSderaadt# 115034ab0fSderaadt# 1) If at all possible, put this source tree in /usr/src. If /usr/src 125034ab0fSderaadt# must be a symbolic link, setenv BSDSRCDIR to point to the real location. 135034ab0fSderaadt# 145034ab0fSderaadt# 2) It is also recommended that you compile with objects outside the 155034ab0fSderaadt# source tree. To do this, ensure /usr/obj exists or points to some 165034ab0fSderaadt# area of disk of sufficient size. Then do "cd /usr/src; make obj". 175034ab0fSderaadt# This will make a symbolic link called "obj" in each directory, as 185034ab0fSderaadt# well as populate the /usr/obj properly with directories for the 195034ab0fSderaadt# objects. 205034ab0fSderaadt# 215034ab0fSderaadt# 3) If you are reasonably sure that things will compile OK, use the 225034ab0fSderaadt# "make build" target supplied here. Good luck. 23094eb183Smickey 245034ab0fSderaadt.include <bsd.own.mk> # for NOMAN, if it's there. 25df930be7Sderaadt 26df930be7SderaadtSUBDIR+= lib include bin libexec sbin usr.bin usr.sbin share games 27df930be7SderaadtSUBDIR+= gnu 28df930be7Sderaadt 29900e3302StholoSUBDIR+= sys lkm 30df930be7Sderaadt 3111ee01d8Smillert.if (${KERBEROS} == "yes") 32b1b0ccd8StholoSUBDIR+= kerberosIV 3396eaadcaStholo.endif 34b1b0ccd8Stholo 35df930be7Sderaadt.if exists(regress) 36df930be7Sderaadt.ifmake !(install) 37df930be7SderaadtSUBDIR+= regress 38df930be7Sderaadt.endif 39df930be7Sderaadt 40df930be7Sderaadtregression-tests: 41df930be7Sderaadt @echo Running regression tests... 42df930be7Sderaadt @(cd ${.CURDIR}/regress && ${MAKE} regress) 43df930be7Sderaadt.endif 44df930be7Sderaadt 454ae007f5Sderaadtincludes: 464ae007f5Sderaadt (cd ${.CURDIR}/include; ${MAKE} includes) 474ae007f5Sderaadt 480d5e6725Sderaadtbeforeinstall: 490d5e6725Sderaadt.ifndef DESTDIR 500d5e6725Sderaadt (cd ${.CURDIR}/etc && ${MAKE} DESTDIR=/ distrib-dirs) 510d5e6725Sderaadt.else 520d5e6725Sderaadt (cd ${.CURDIR}/etc && ${MAKE} distrib-dirs) 530d5e6725Sderaadt.endif 546cae596cSderaadt (cd ${.CURDIR}/include; ${MAKE} includes) 55df930be7Sderaadt 56df930be7Sderaadtafterinstall: 57df930be7Sderaadt.ifndef NOMAN 58df930be7Sderaadt (cd ${.CURDIR}/share/man && ${MAKE} makedb) 59df930be7Sderaadt.endif 60df930be7Sderaadt 61df930be7Sderaadtbuild: 62*71e87bb9Skstailey.ifdef GLOBAL_AUTOCONF_CACHE 63*71e87bb9Skstailey rm -f $GLOBAL_AUTOCONF_CACHE 649a76bd19Skstailey.endif 65094eb183Smickey (cd ${.CURDIR}/share/mk && ${MAKE} install) 66dd9d2c6eSderaadt (cd ${.CURDIR}/include; ${MAKE} includes) 67df930be7Sderaadt ${MAKE} cleandir 68df930be7Sderaadt (cd ${.CURDIR}/lib && ${MAKE} depend && ${MAKE} && ${MAKE} install) 69df930be7Sderaadt (cd ${.CURDIR}/gnu/lib && ${MAKE} depend && ${MAKE} && ${MAKE} install) 70a60dba07Sderaadt.if (${MACHINE_ARCH} == "mips") 7162085dbcSbriggs ldconfig 72a60dba07Sderaadt.endif 7311ee01d8Smillert.if (${KERBEROS} == "yes") 74b1b0ccd8Stholo (cd ${.CURDIR}/kerberosIV && ${MAKE} build) 7596eaadcaStholo.endif 76df930be7Sderaadt ${MAKE} depend && ${MAKE} && ${MAKE} install 77df930be7Sderaadt 789c3ce19dSniklas.if !defined(TARGET) 799c3ce19dSniklascross-tools: 809c3ce19dSniklas echo "TARGET must be set"; exit 1 819c3ce19dSniklas.else 829c3ce19dSniklascross-tools: cross-helpers cross-includes cross-binutils cross-gcc 839c3ce19dSniklas 849c3ce19dSniklasCROSSDIR= ${DESTDIR}/usr/cross/${TARGET} 859c3ce19dSniklas 869c3ce19dSniklascross-helpers: 879c3ce19dSniklas -mkdir -p ${CROSSDIR}/usr/include 889c3ce19dSniklas echo _MACHINE_ARCH | \ 899c3ce19dSniklas cat ${.CURDIR}/sys/arch/${TARGET}/include/param.h - | \ 909c3ce19dSniklas ${CPP} -E |sed -n '$$p' >${CROSSDIR}/TARGET_ARCH 919c3ce19dSniklas eval `grep '^osr=' sys/conf/newvers.sh`; \ 929c3ce19dSniklas sed "s/\$$/-unknown-openbsd$$osr/" ${CROSSDIR}/TARGET_ARCH > \ 939c3ce19dSniklas ${CROSSDIR}/TARGET_CANON 949c3ce19dSniklas 959c3ce19dSniklascross-includes: 969c3ce19dSniklas ${MAKE} MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ 979c3ce19dSniklas DESTDIR=${CROSSDIR} includes 989c3ce19dSniklas 999c3ce19dSniklascross-binutils: 1009c3ce19dSniklas -mkdir -p ${CROSSDIR}/usr/obj 1019c3ce19dSniklas export BSDSRCDIR=`pwd`; \ 1029c3ce19dSniklas (cd ${.CURDIR}/gnu/usr.bin/binutils; \ 1039c3ce19dSniklas BSDOBJDIR=${CROSSDIR}/usr/obj \ 1049c3ce19dSniklas MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 1059c3ce19dSniklas ${MAKE} -f Makefile.bsd-wrapper obj); \ 1069c3ce19dSniklas (cd ${CROSSDIR}/usr/obj/gnu/usr.bin/binutils; \ 1079c3ce19dSniklas ${BSDSRCDIR}/gnu/usr.bin/binutils/configure \ 1089c3ce19dSniklas --prefix ${CROSSDIR}/usr \ 1099c3ce19dSniklas --target `cat ${CROSSDIR}/TARGET_CANON` && \ 1109c3ce19dSniklas ${MAKE} && ${MAKE} install) 1119c3ce19dSniklas ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 755 \ 1129c3ce19dSniklas ${.CURDIR}/usr.bin/lorder/lorder.sh.gnm \ 1139c3ce19dSniklas ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-lorder 1149c3ce19dSniklas 1159c3ce19dSniklascross-gcc: 1169c3ce19dSniklas -mkdir -p ${CROSSDIR}/usr/obj 1179c3ce19dSniklas (cd gnu/usr.bin/gcc; \ 1189c3ce19dSniklas BSDOBJDIR=${CROSSDIR}/usr/obj BSDSRCDIR=${.CURDIR} \ 1199c3ce19dSniklas MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ 1209c3ce19dSniklas ${MAKE} -f Makefile.bsd-wrapper obj) 1219c3ce19dSniklas (cd ${CROSSDIR}/usr/obj/gnu/usr.bin/gcc; \ 1229c3ce19dSniklas ${.CURDIR}/gnu/usr.bin/gcc/configure \ 1239c3ce19dSniklas --prefix ${CROSSDIR}/usr \ 1249c3ce19dSniklas --target `cat ${CROSSDIR}/TARGET_CANON` && \ 1259c3ce19dSniklas ${MAKE} BISON=yacc LANGUAGES=c \ 1269c3ce19dSniklas GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" && \ 1279c3ce19dSniklas ${MAKE} LANGUAGES=c install) 1289c3ce19dSniklas.endif 1299c3ce19dSniklas 130df930be7Sderaadt.include <bsd.subdir.mk> 131