[BACK]Return to Makefile CVS log [TXT][DIR] Up to [local] / src

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>