Annotation of src/Makefile, Revision 1.112
1.112 ! espie 1: # $OpenBSD: Makefile,v 1.109 2004/12/25 16:17:33 grange 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.
1.85 todd 7: #
1.16 deraadt 8: # Building recommendations:
1.85 todd 9: #
1.16 deraadt 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.85 todd 28: # target available which upon completion of "make TARGET=<target> cross-tools"
1.38 mickey 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>
1.87 wcobb 31: # directory. The "cross-distrib" target will build cross-tools as well as
32: # binaries for a given <target>.
1.38 mickey 33: #
1.16 deraadt 34:
1.6 mickey 35: .include <bsd.own.mk> # for NOMAN, if it's there.
1.1 deraadt 36:
37: SUBDIR+= lib include bin libexec sbin usr.bin usr.sbin share games
38: SUBDIR+= gnu
39:
1.5 tholo 40: SUBDIR+= sys lkm
1.1 deraadt 41:
1.68 hin 42: .if (${KERBEROS5:L} == "yes")
43: SUBDIR+= kerberosV
44: .endif
45:
1.21 deraadt 46: .if make(clean) || make(cleandir) || make(obj)
1.82 art 47: SUBDIR+= distrib regress
1.4 tholo 48: .endif
1.2 tholo 49:
1.1 deraadt 50: .if exists(regress)
51: regression-tests:
52: @echo Running regression tests...
1.83 art 53: @cd ${.CURDIR}/regress && ${MAKE} depend && exec ${MAKE} regress
1.1 deraadt 54: .endif
1.10 deraadt 55:
56: includes:
1.67 niklas 57: cd ${.CURDIR}/include && ${MAKE} prereq && exec ${SUDO} ${MAKE} includes
1.1 deraadt 58:
1.7 deraadt 59: beforeinstall:
1.66 espie 60: cd ${.CURDIR}/etc && exec ${MAKE} DESTDIR=${DESTDIR} distrib-dirs
61: cd ${.CURDIR}/include && exec ${MAKE} includes
1.1 deraadt 62:
63: afterinstall:
64: .ifndef NOMAN
1.66 espie 65: cd ${.CURDIR}/share/man && exec ${MAKE} makedb
1.1 deraadt 66: .endif
67:
68: build:
1.19 kstailey 69: .ifdef GLOBAL_AUTOCONF_CACHE
1.60 angelos 70: cp /dev/null ${GLOBAL_AUTOCONF_CACHE}
1.18 kstailey 71: .endif
1.66 espie 72: cd ${.CURDIR}/share/mk && exec ${SUDO} ${MAKE} install
73: cd ${.CURDIR}/include && ${MAKE} prereq && exec ${SUDO} ${MAKE} includes
1.43 millert 74: ${SUDO} ${MAKE} cleandir
1.66 espie 75: cd ${.CURDIR}/lib && ${MAKE} depend && ${MAKE} && \
76: NOMAN=1 exec ${SUDO} ${MAKE} install
77: cd ${.CURDIR}/gnu/lib && ${MAKE} depend && ${MAKE} && \
78: NOMAN=1 exec ${SUDO} ${MAKE} install
79: ${MAKE} depend && ${MAKE} && exec ${SUDO} ${MAKE} install
1.15 niklas 80:
1.112 ! espie 81: CROSS_TARGETS=cross-env cross-dirs cross-obj cross-includes cross-binutils \
! 82: cross-gcc cross-tools cross-lib cross-bin cross-etc-root-var \
! 83: cross-depend cross-clean cross-cleandir
! 84:
1.15 niklas 85: .if !defined(TARGET)
1.112 ! espie 86: ${CROSS_TARGETS}:
! 87: @echo "TARGET must be set for $@"; exit 1
1.15 niklas 88: .else
1.112 ! espie 89: . include "Makefile.cross"
! 90: .endif # defined(TARGET)
1.106 grange 91:
1.112 ! espie 92: .PHONY: ${CROSS_TARGETS} \
! 93: build regression-tests includes beforeinstall afterinstall \
! 94: all depend
1.87 wcobb 95:
1.1 deraadt 96: .include <bsd.subdir.mk>