xref: /openbsd/Makefile (revision 9c3ce19d)
1*9c3ce19dSniklas#	$OpenBSD: Makefile,v 1.15 1997/02/28 23:22:07 niklas Exp $
2df930be7Sderaadt#	$NetBSD: Makefile,v 1.25 1995/10/09 02:11:28 thorpej Exp $
3df930be7Sderaadt
4094eb183Smickey.include <bsd.own.mk>	# for NOMAN, if it's there.
5094eb183Smickey
6df930be7Sderaadt# NOTE THAT etc *DOES NOT* BELONG IN THE LIST BELOW
7df930be7Sderaadt
8df930be7SderaadtSUBDIR+= lib include bin libexec sbin usr.bin usr.sbin share games
9df930be7SderaadtSUBDIR+= gnu
10df930be7Sderaadt
11900e3302StholoSUBDIR+= sys lkm
12df930be7Sderaadt
1396eaadcaStholo.if defined(KERBEROS)
14b1b0ccd8StholoSUBDIR+= kerberosIV
1596eaadcaStholo.endif
16b1b0ccd8Stholo
17df930be7Sderaadt.if exists(regress)
18df930be7Sderaadt.ifmake !(install)
19df930be7SderaadtSUBDIR+= regress
20df930be7Sderaadt.endif
21df930be7Sderaadt
22df930be7Sderaadtregression-tests:
23df930be7Sderaadt	@echo Running regression tests...
24df930be7Sderaadt	@(cd ${.CURDIR}/regress && ${MAKE} regress)
25df930be7Sderaadt.endif
26df930be7Sderaadt
274ae007f5Sderaadtincludes:
284ae007f5Sderaadt	(cd ${.CURDIR}/include; ${MAKE} includes)
294ae007f5Sderaadt
300d5e6725Sderaadtbeforeinstall:
310d5e6725Sderaadt.ifndef DESTDIR
320d5e6725Sderaadt	(cd ${.CURDIR}/etc && ${MAKE} DESTDIR=/ distrib-dirs)
330d5e6725Sderaadt.else
340d5e6725Sderaadt	(cd ${.CURDIR}/etc && ${MAKE} distrib-dirs)
350d5e6725Sderaadt.endif
366cae596cSderaadt	(cd ${.CURDIR}/include; ${MAKE} includes)
37df930be7Sderaadt
38df930be7Sderaadtafterinstall:
39df930be7Sderaadt.ifndef NOMAN
40df930be7Sderaadt	(cd ${.CURDIR}/share/man && ${MAKE} makedb)
41df930be7Sderaadt.endif
42df930be7Sderaadt
43df930be7Sderaadtbuild:
44094eb183Smickey	(cd ${.CURDIR}/share/mk && ${MAKE} install)
45dd9d2c6eSderaadt	(cd ${.CURDIR}/include; ${MAKE} includes)
46df930be7Sderaadt	${MAKE} cleandir
47df930be7Sderaadt	(cd ${.CURDIR}/lib && ${MAKE} depend && ${MAKE} && ${MAKE} install)
48df930be7Sderaadt	(cd ${.CURDIR}/gnu/lib && ${MAKE} depend && ${MAKE} && ${MAKE} install)
49a60dba07Sderaadt.if (${MACHINE_ARCH} == "mips")
5062085dbcSbriggs	ldconfig
51a60dba07Sderaadt.endif
5296eaadcaStholo.if defined(KERBEROS)
53b1b0ccd8Stholo	(cd ${.CURDIR}/kerberosIV && ${MAKE} build)
5496eaadcaStholo.endif
55df930be7Sderaadt	${MAKE} depend && ${MAKE} && ${MAKE} install
56df930be7Sderaadt
57*9c3ce19dSniklas.if !defined(TARGET)
58*9c3ce19dSniklascross-tools:
59*9c3ce19dSniklas	echo "TARGET must be set"; exit 1
60*9c3ce19dSniklas.else
61*9c3ce19dSniklascross-tools:	cross-helpers cross-includes cross-binutils cross-gcc
62*9c3ce19dSniklas
63*9c3ce19dSniklasCROSSDIR=	${DESTDIR}/usr/cross/${TARGET}
64*9c3ce19dSniklas
65*9c3ce19dSniklascross-helpers:
66*9c3ce19dSniklas	-mkdir -p ${CROSSDIR}/usr/include
67*9c3ce19dSniklas	echo _MACHINE_ARCH | \
68*9c3ce19dSniklas	    cat ${.CURDIR}/sys/arch/${TARGET}/include/param.h - | \
69*9c3ce19dSniklas	    ${CPP} -E |sed -n '$$p' >${CROSSDIR}/TARGET_ARCH
70*9c3ce19dSniklas	eval `grep '^osr=' sys/conf/newvers.sh`; \
71*9c3ce19dSniklas	   sed "s/\$$/-unknown-openbsd$$osr/" ${CROSSDIR}/TARGET_ARCH > \
72*9c3ce19dSniklas	   ${CROSSDIR}/TARGET_CANON
73*9c3ce19dSniklas
74*9c3ce19dSniklascross-includes:
75*9c3ce19dSniklas	${MAKE} MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
76*9c3ce19dSniklas	    DESTDIR=${CROSSDIR} includes
77*9c3ce19dSniklas
78*9c3ce19dSniklascross-binutils:
79*9c3ce19dSniklas	-mkdir -p ${CROSSDIR}/usr/obj
80*9c3ce19dSniklas	export BSDSRCDIR=`pwd`; \
81*9c3ce19dSniklas	    (cd ${.CURDIR}/gnu/usr.bin/binutils; \
82*9c3ce19dSniklas	    BSDOBJDIR=${CROSSDIR}/usr/obj \
83*9c3ce19dSniklas	    MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
84*9c3ce19dSniklas	    ${MAKE} -f Makefile.bsd-wrapper obj); \
85*9c3ce19dSniklas	    (cd ${CROSSDIR}/usr/obj/gnu/usr.bin/binutils; \
86*9c3ce19dSniklas	    ${BSDSRCDIR}/gnu/usr.bin/binutils/configure \
87*9c3ce19dSniklas	    --prefix ${CROSSDIR}/usr \
88*9c3ce19dSniklas	    --target `cat ${CROSSDIR}/TARGET_CANON` && \
89*9c3ce19dSniklas	    ${MAKE} && ${MAKE} install)
90*9c3ce19dSniklas	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 755 \
91*9c3ce19dSniklas	    ${.CURDIR}/usr.bin/lorder/lorder.sh.gnm \
92*9c3ce19dSniklas	    ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-lorder
93*9c3ce19dSniklas
94*9c3ce19dSniklascross-gcc:
95*9c3ce19dSniklas	-mkdir -p ${CROSSDIR}/usr/obj
96*9c3ce19dSniklas	(cd gnu/usr.bin/gcc; \
97*9c3ce19dSniklas	    BSDOBJDIR=${CROSSDIR}/usr/obj BSDSRCDIR=${.CURDIR} \
98*9c3ce19dSniklas	    MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
99*9c3ce19dSniklas	    ${MAKE} -f Makefile.bsd-wrapper obj)
100*9c3ce19dSniklas	(cd ${CROSSDIR}/usr/obj/gnu/usr.bin/gcc; \
101*9c3ce19dSniklas	    ${.CURDIR}/gnu/usr.bin/gcc/configure \
102*9c3ce19dSniklas	    --prefix ${CROSSDIR}/usr \
103*9c3ce19dSniklas	    --target `cat ${CROSSDIR}/TARGET_CANON` && \
104*9c3ce19dSniklas	    ${MAKE} BISON=yacc LANGUAGES=c \
105*9c3ce19dSniklas	    GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" && \
106*9c3ce19dSniklas	    ${MAKE} LANGUAGES=c install)
107*9c3ce19dSniklas.endif
108*9c3ce19dSniklas
109df930be7Sderaadt.include <bsd.subdir.mk>
110