Makefile revision 1.162
11.162Sapb# $NetBSD: Makefile,v 1.162 2012/12/02 11:19:45 apb Exp $ 21.1Stv 31.3Stv.include <bsd.own.mk> 41.3Stv 51.159Sjoerg# Make sure that the ordered build/install processing applies when using 61.159Sjoerg# plain make. 71.159Sjoerg.MAIN: build_install 81.159Sjoerg 91.160Spooka.if ${TOOLCHAIN_MISSING} == "no" 101.160Spooka.if defined(HAVE_GCC) 111.94SjmcTOOLCHAIN_BITS= gmake .WAIT 121.156Sjoerg.endif 131.156Sjoerg 141.156Sjoerg.if defined(HAVE_GCC) 151.146Smrg.if ${HAVE_GCC} >= 45 161.146SmrgTOOLCHAIN_BITS+= gmp .WAIT 171.146SmrgTOOLCHAIN_BITS+= mpfr .WAIT 181.146SmrgTOOLCHAIN_BITS+= mpc .WAIT 191.94Sjmc.endif 201.156Sjoerg.endif 211.156Sjoerg.endif 221.156Sjoerg 231.156Sjoerg.if ${TOOLCHAIN_MISSING} == "no" 241.94SjmcTOOLCHAIN_BITS+= binutils .WAIT 251.156Sjoerg.endif 261.156Sjoerg 271.156Sjoerg.if defined(HAVE_GCC) 281.156Sjoerg.if ${TOOLCHAIN_MISSING} == "no" 291.77SmrgTOOLCHAIN_BITS+= gcc 301.97Smrg. if ${MKCROSSGDB:Uno} != "no" 311.74SclTOOLCHAIN_BITS+= gdb 321.70Smrg. endif 331.156SjoergTOOLCHAIN_BITS+= .WAIT 341.31Stv.endif 351.118Sgmcgarry.endif 361.118Sgmcgarry 371.118Sgmcgarry.if defined(HAVE_PCC) 381.118Sgmcgarry.if ${TOOLCHAIN_MISSING} == "no" 391.118SgmcgarryTOOLCHAIN_BITS+= pcc 401.118Sgmcgarry.endif 411.118Sgmcgarry.endif 421.31Stv 431.157Spooka.if ${TOOLCHAIN_MISSING} == "no" 441.157Spooka# XXX Eventually, we want to be able to build dbsym and mdsetimage 451.157Spooka# XXX if EXTERNAL_TOOLCHAIN is set. 461.156SjoergTOOLCHAIN_BITS+= dbsym mdsetimage 471.157Spooka.endif 481.156Sjoerg 491.137SdarranDTRACE_BITS= 501.137Sdarran.if ${MKDTRACE} != "no" 511.137SdarranDTRACE_BITS+= .WAIT libelf 521.137SdarranDTRACE_BITS+= .WAIT libdwarf 531.162SapbDTRACE_BITS+= .WAIT libctf 541.137SdarranDTRACE_BITS+= .WAIT ctfconvert ctfmerge 551.137Sdarran.endif 561.137Sdarran 571.99SmrgLINT_BITS= 581.99Smrg.if ${MKLINT} != "no" 591.99SmrgLINT_BITS= lint lint2 601.99Smrg.endif 611.99Smrg 621.16Stv# Dependencies in SUBDIR below ordered to maximize parallel ability. 631.29StvSUBDIR= host-mkdep .WAIT compat .WAIT \ 641.124Sapb binstall .WAIT mktemp .WAIT sed .WAIT \ 651.113Sapb cap_mkdb crunchgen ctags genassym gencat hexdump join \ 661.99Smrg ${LINT_BITS} \ 671.152Syamt lorder makewhatis mkdep mtree nbperf .WAIT rpcgen tsort \ 681.134Sroy uudecode m4 \ 691.132Smrg .WAIT texinfo \ 701.132Smrg .WAIT yacc \ 711.132Smrg .WAIT awk \ 721.153Schristos .WAIT tic \ 731.132Smrg .WAIT lex \ 741.132Smrg .WAIT pax \ 751.132Smrg .WAIT ${TOOLCHAIN_BITS} \ 761.137Sdarran ${DTRACE_BITS} \ 771.138Sjmmv asn1_compile cat cksum compile_et config db \ 781.145Selric file lint1 slc \ 791.144Sriz makefs .WAIT menuc mkcsmapper mkesdb mklocale mknod msgc \ 801.132Smrg .WAIT disklabel \ 811.132Smrg .WAIT paxctl \ 821.132Smrg .WAIT fdisk \ 831.132Smrg .WAIT installboot \ 841.154Snjoly pwd_mkdb stat strfile sunlabel zic 851.39Stv 861.142Sjoerg.if ${MKLLVM} != "no" 871.142SjoergSUBDIR+= \ 881.142Sjoerg llvm .WAIT \ 891.149Sjoerg llvm-lib/libLLVMSupport llvm-lib/libLLVMTableGen .WAIT \ 901.159Sjoerg llvm-tblgen llvm-clang-tblgen .WAIT \ 911.142Sjoerg llvm-include .WAIT \ 921.142Sjoerg llvm-lib .WAIT \ 931.142Sjoerg llvm-clang 941.142Sjoerg.endif 951.142Sjoerg 961.121Sdyoung.if ${MKMAN} != "no" || ${MKDOC} != "no" || ${MKHTML} != "no" 971.136Sjoerg. if ${MKGROFF} != "no" 981.39StvSUBDIR+= groff 991.136Sjoerg. endif 1001.128SjoergSUBDIR+= mandoc 1011.39Stv.endif 1021.22Stv 1031.22Stv.if ${MKMAINTAINERTOOLS:Uno} != "no" 1041.103SlukemSUBDIR+= autoconf .WAIT gettext 1051.72Smatt.endif 1061.72Smatt 1071.140Smrg.if ${USE_PIGZGZIP} != "no" 1081.140SmrgSUBDIR+= pigz 1091.140Smrg.endif 1101.140Smrg 1111.86Sjmc.if ${MACHINE} == "hp700" 1121.83SskrllSUBDIR+= hp700-mkboot 1131.83Sskrll.endif 1141.83Sskrll 1151.86Sjmc.if ${MACHINE} == "ibmnws" 1161.72SmattSUBDIR+= ibmnws-ncdcs 1171.79Smatt.endif 1181.79Smatt 1191.86Sjmc.if ${MACHINE} == "macppc" 1201.79SmattSUBDIR+= macppc-fixcoff 1211.48Skleink.endif 1221.48Skleink 1231.116Sgarbled.if (${MACHINE} == "prep" || ${MACHINE} == "rs6000" || ${MACHINE} == "bebox") 1241.115SgarbledSUBDIR+= powerpc-mkbootimage 1251.22Stv.endif 1261.37Sgmcgarry 1271.148Stsutsui.if ${MACHINE_ARCH} == "m68k" 1281.148StsutsuiSUBDIR+= m68k-elf2aout 1291.148Stsutsui.endif 1301.148Stsutsui 1311.147Smrg.if (${MACHINE_ARCH} == "mipsel" || ${MACHINE_ARCH} == "mipseb" || \ 1321.147Smrg ${MACHINE_ARCH} == "mips64el" || ${MACHINE_ARCH} == "mips64eb") 1331.37SgmcgarrySUBDIR+= mips-elf2ecoff 1341.76Ssekiya.endif 1351.76Ssekiya 1361.76Ssekiya.if (${MACHINE} == "sgimips") 1371.76SsekiyaSUBDIR+= sgivol 1381.51Sbjh21.endif 1391.51Sbjh21 1401.82Sabs.if ${MACHINE} == "acorn32" 1411.82SabsSUBDIR+= sparkcrc 1421.82Sabs.endif 1431.82Sabs 1441.125Sabs.if (${MACHINE_ARCH} == "sparc" || ${MACHINE_ARCH} == "sparc64") 1451.51Sbjh21SUBDIR+= fgen 1461.37Sgmcgarry.endif 1471.37Sgmcgarry 1481.85Sjmc.if ${MACHINE} == "amiga" 1491.85SjmcSUBDIR+= amiga-elf2bb 1501.85SjmcSUBDIR+= amiga-txlt 1511.85Sjmc.endif 1521.85Sjmc 1531.86Sjmc.if ${MACHINE} == "hp300" 1541.86SjmcSUBDIR+= hp300-mkboot 1551.86Sjmc.endif 1561.86Sjmc 1571.161Sjkunz.if ${MACHINE} == "evbarm" && ${MACHINE_ARCH} == "arm" 1581.158SjkunzSUBDIR+= elftosb 1591.158Sjkunz.endif 1601.158Sjkunz 1611.143Sphx.if ${MACHINE} == "evbarm" || ${MACHINE} == "evbmips" || \ 1621.143Sphx ${MACHINE} == "evbppc" || ${MACHINE} == "sandpoint" 1631.139SjmcneillSUBDIR+= mkubootimage 1641.139Sjmcneill.endif 1651.139Sjmcneill 1661.66Slukemcheck_MKTOOLS: .PHONY .NOTMAIN 1671.19Sjmc.if ${MKTOOLS:Uyes} == "no" 1681.17Stv @echo '*** WARNING: "MKTOOLS" is set to "no"; this will prevent building and' 1691.17Stv @echo '*** updating your host toolchain. This should be used only as a' 1701.17Stv @echo '*** temporary workaround for toolchain problems, as it will result' 1711.23Swiz @echo '*** in version skew and build errors over time!' 1721.18Sjmc.endif 1731.17Stv 1741.66Slukem.if ${MKTOOLS:Uyes} == "no" || ${USETOOLS} != "yes" # { 1751.67Slukemrealall realdepend install: check_MKTOOLS 1761.66Slukem 1771.17Stv.for dir in ${SUBDIR:N.WAIT} 1781.17Stvall-${dir} depend-${dir} dependall-${dir} install-${dir}: 1791.17Stv @true 1801.17Stv.endfor 1811.66Slukem.endif # } 1821.1Stv 1831.1Stv.include <bsd.subdir.mk> 1841.159Sjoerg.include <bsd.buildinstall.mk> 1851.11Stv.include <bsd.obj.mk> 1861.16Stv 1871.102Stron.if !defined(PREVIOUSTOOLDIR) 1881.102Stron. if exists(PREVIOUSTOOLDIR) 1891.66SlukemPREVIOUSTOOLDIR!= cat PREVIOUSTOOLDIR 1901.102Stron. else 1911.162SapbPREVIOUSTOOLDIR= 1921.102Stron. endif 1931.66Slukem.endif 1941.66Slukem 1951.66SlukemCLEANFILES+= PREVIOUSTOOLDIR 1961.66Slukem 1971.101Stronrealall realdepend: .MAKE 1981.107Sapb.if !empty(PREVIOUSTOOLDIR) && "${PREVIOUSTOOLDIR}" != "${TOOLDIR}" 1991.66Slukem @echo "*** WARNING: TOOLDIR has moved?" 2001.66Slukem @echo "*** PREVIOUSTOOLDIR '${PREVIOUSTOOLDIR}'" 2011.66Slukem @echo "*** != TOOLDIR '${TOOLDIR}'" 2021.66Slukem @echo "*** Cleaning mis-matched tools" 2031.66Slukem rm -f PREVIOUSTOOLDIR 2041.106Sfreza (cd ${.CURDIR} && ${MAKE} PREVIOUSTOOLDIR=${TOOLDIR} cleandir) 2051.66Slukem.endif 2061.102Stron echo ${TOOLDIR} >PREVIOUSTOOLDIR 2071.66Slukem 2081.69Stroncleandir: 2091.69Stron rm -f ${CLEANFILES} 210