X-Git-Url: https://gitweb.dragonflybsd.org/~nant/dragonfly.git/blobdiff_plain/2a2e165fceddfec7b970a7da336d582e6178154a..c784234dec57a1c83911b361b5aa5d5b82ee65b3:/Makefile.inc1 diff --git a/Makefile.inc1 b/Makefile.inc1 index 6f95ca416e..6b8776dcad 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -53,10 +53,6 @@ SUBDIR+= games .if exists(${.CURDIR}/gnu) SUBDIR+= gnu .endif -.if exists(${.CURDIR}/kerberos5) && exists(${.CURDIR}/crypto) && \ - !defined(NO_CRYPT) && !defined(NO_OPENSSL) && defined(WANT_KERBEROS) -SUBDIR+= kerberos5 -.endif .if exists(${.CURDIR}/libexec) SUBDIR+= libexec .endif @@ -125,6 +121,13 @@ DESTDIRBASE?= ${OBJTREE}${.CURDIR} # This sets the compiler we use to build the world/kernel with WORLD_CCVER?= gcc41 +WORLD_BINUTILSVER?= binutils217 + +# temporary until everybody has converted to x86_64 +.if ${MACHINE_ARCH} == "amd64" +MACHINE_ARCH= x86_64 +.makeenv MACHINE_ARCH +.endif TARGET_ARCH?= ${MACHINE_ARCH} .if ${TARGET_ARCH} == ${MACHINE_ARCH} @@ -134,6 +137,12 @@ TARGET?= ${TARGET_ARCH} .endif .if make(buildworld) BUILD_ARCH!= sysctl -n hw.machine_arch + +# temporary until everybody has converted to x86_64 +.if ${BUILD_ARCH} == "amd64" +BUILD_ARCH= x86_64 +.endif + .if ${MACHINE_ARCH} != ${BUILD_ARCH} .error To cross-build, set TARGET_ARCH. .endif @@ -150,7 +159,7 @@ MACHINE_PLATFORM= pc32 .if !defined(TARGET_PLATFORM) .if ${TARGET_ARCH} == "i386" TARGET_PLATFORM= pc32 -.elif ${TARGET_ARCH} == "amd64" +.elif ${TARGET_ARCH} == "x86_64" TARGET_PLATFORM= pc64 .else .error Unknown target architecture. @@ -278,7 +287,8 @@ CROSSENV= MAKEOBJDIRPREFIX=${WORLDDEST} \ MACHINE_PLATFORM=${TARGET_PLATFORM} \ OBJFORMAT_PATH=${CTOOLSDEST} \ HOST_CCVER=${HOST_CCVER} \ - CCVER=${WORLD_CCVER} + CCVER=${WORLD_CCVER} \ + BINUTILSVER=${WORLD_BINUTILSVER} WMAKEENV= ${CROSSENV} \ DESTDIR=${WORLDDEST} \ @@ -302,7 +312,10 @@ KMAKEENV= ${WMAKEENV} # Attempt to rebuild the entire system, with reasonable chance of # success, regardless of how old your existing system is. # -_worldtmp: +_worldtmp: _cleantmp _mtreetmp +.ORDER: _cleantmp _mtreetmp + +_cleantmp: @echo @echo "--------------------------------------------------------------" @echo ">>> Rebuilding the temporary build tree" @@ -314,6 +327,8 @@ _worldtmp: rm -f ${OBJTREE}${.CURDIR}/usr.bin/kdump/ioctl.c rm -f ${OBJTREE}${.CURDIR}/usr.bin/truss/ioctl.c .endif + +_mtreetmp: mkdir -p ${DESTDIRBASE} ${BTOOLSDEST} ${CTOOLSDEST} ${WORLDDEST} .for _dir in ${WORLDDEST} ${BTOOLSDEST} ${CTOOLSDEST} mtree -deU -f ${.CURDIR}/etc/mtree/BSD.root.dist \ @@ -402,13 +417,15 @@ WMAKE_TGTS+= _includes _libraries _depend everything buildworld: ${WMAKE_TGTS} -quickworld: _obj _includes _libraries _depend everything +quickworld: _mtreetmp _obj _includes _libraries _depend everything -realquickworld: _obj _includes _libraries everything +realquickworld: _mtreetmp _obj _includes _libraries everything crossworld: _worldtmp _bootstrap-tools _obj _build-tools _cross-tools .ORDER: ${WMAKE_TGTS} +.ORDER: _obj _includes +.ORDER: _mtreetmp _obj # # installcheck @@ -452,13 +469,6 @@ reinstall: @echo ">>> Installing everything.." @echo "--------------------------------------------------------------" cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 install -.if !defined(NOMAN) && !defined(NO_MAKEDB_RUN) - @echo - @echo "--------------------------------------------------------------" - @echo ">>> Rebuilding man page indices" - @echo "--------------------------------------------------------------" - cd ${.CURDIR}/share/man; ${MAKE} makedb -.endif # # buildkernel, nativekernel, quickkernel, and installkernel @@ -484,7 +494,13 @@ reinstall: KERNCONF= ${KERNEL} KERNWARN= yes .else +# XXX makeshift fix to build the right kernel for the (target) architecture +# We should configure this in the platform files somehow +.if ${TARGET_ARCH} == "i386" KERNCONF?= GENERIC +.else +KERNCONF?= X86_64_GENERIC +.endif .endif INSTKERNNAME?= kernel @@ -580,9 +596,6 @@ buildkernel: bk_tools bk_build_list bk_kernwarn echo ${KERNEL_VERSION_${_kernel}} > ${KRNLOBJDIR}/${_kernel}/version .endif touch ${KRNLOBJDIR}/${_kernel}/.buildkernel_run - cd ${KRNLOBJDIR}/${_kernel}; \ - MAKESRCPATH=${KRNLSRCDIR}/dev/disk/aic7xxx/aicasm \ - ${MAKE} -DBOOTSTRAPPING -f ${KRNLSRCDIR}/dev/disk/aic7xxx/aicasm/Makefile .if !defined(NO_KERNELDEPEND) cd ${KRNLOBJDIR}/${_kernel}; \ ${KMAKEENV} ${MAKE} KERNEL=${INSTKERNNAME} depend @@ -758,7 +771,7 @@ bootstrap-tools: usr.bin/mklocale usr.bin/uuencode usr.bin/compile_et usr.bin/hexdump \ usr.bin/cap_mkdb usr.bin/true usr.bin/false \ usr.bin/cmp usr.bin/xargs usr.bin/id usr.bin/env usr.bin/dirname \ - usr.bin/tail \ + usr.bin/tail usr.bin/unifdef \ usr.sbin/chown usr.sbin/mtree usr.sbin/config \ usr.sbin/btxld usr.sbin/zic usr.sbin/makewhatis \ gnu/usr.bin/texinfo gnu/usr.bin/grep gnu/usr.bin/sort \ @@ -781,23 +794,17 @@ bootstrap-tools: _share= share/syscons/scrnmaps .endif -.if !defined(NO_GCC34) -_gcc34_cross= gnu/usr.bin/cc34 -_gcc34_tools= gnu/usr.bin/cc34/cc_prep gnu/usr.bin/cc34/cc_tools -.endif _gcc41_cross= gnu/usr.bin/cc41 _gcc41_tools= gnu/usr.bin/cc41/cc_prep gnu/usr.bin/cc41/cc_tools -_custom_cross= libexec/customcc -_binutils= gnu/usr.bin/binutils217 - -.if exists(${.CURDIR}/kerberos5) && exists(${.CURDIR}/crypto) && \ - !defined(NO_CRYPT) && defined(WANT_KERBEROS) -_libkrb5= kerberos5/tools kerberos5/lib/libroken kerberos5/lib/libvers \ - kerberos5/lib/libasn1 kerberos5/lib/libhdb kerberos5/lib/libsl +.if !defined(NO_GCC44) +_gcc44_cross= gnu/usr.bin/cc44 +_gcc44_tools= gnu/usr.bin/cc44/cc_prep gnu/usr.bin/cc44/cc_tools .endif +_custom_cross= libexec/customcc +_binutils= gnu/usr.bin/${WORLD_BINUTILSVER} build-tools: -.for _tool in ${_gcc34_tools} ${_gcc41_tools} ${_libkrb5} ${_share} +.for _tool in ${_gcc41_tools} ${_gcc44_tools} ${_libkrb5} ${_share} ${ECHODIR} "===> ${_tool} (build-tools)"; \ cd ${.CURDIR}/${_tool}; \ ${MAKE} DIRPRFX=${_tool}/ obj; \ @@ -817,7 +824,7 @@ _btxld= usr.sbin/btxld cross-tools: .for _tool in ${_btxld} ${_binutils} \ usr.bin/objformat \ - ${_gcc34_cross} ${_gcc41_cross} ${_custom_cross} + ${_gcc41_cross} ${_gcc44_cross} ${_custom_cross} ${ECHODIR} "===> ${_tool} (cross-tools)"; \ cd ${.CURDIR}/${_tool}; \ ${MAKE} DIRPRFX=${_tool}/ obj; \ @@ -844,14 +851,14 @@ hierarchy: # to specify the correct CCVER or 'cc' will not exec the correct compiler. # libraries: -.if !defined(NO_GCC34) - cd ${.CURDIR}; \ - HOST_CCVER=${HOST_CCVER} CCVER=gcc34 \ - ${MAKE} -f Makefile.inc1 _startup_libs34; -.endif cd ${.CURDIR}; \ HOST_CCVER=${HOST_CCVER} CCVER=gcc41 \ ${MAKE} -f Makefile.inc1 _startup_libs41; +.if !defined(NO_GCC44) + cd ${.CURDIR}; \ + HOST_CCVER=${HOST_CCVER} CCVER=gcc44 \ + ${MAKE} -f Makefile.inc1 _startup_libs44; +.endif cd ${.CURDIR}; \ ${MAKE} -f Makefile.inc1 _startup_libs; \ ${MAKE} -f Makefile.inc1 _prebuild_libs; \ @@ -861,11 +868,11 @@ libraries: # These dependencies are not automatically generated: # # gnu/lib/${CCVER}/libgcc and gnu/lib/${CCVER}/csu must be built before all -# shared libraries for ELF. The target for _startup_libs34 is -# specifically built using gcc34. Same goes for _startup_libs41. +# shared libraries for ELF. The target for _startup_libsXX is +# specifically built using gccXX. # -_startup_libs34= gnu/lib/gcc34/csu gnu/lib/gcc34/libgcc _startup_libs41= gnu/lib/gcc41/csu gnu/lib/gcc41/libgcc +_startup_libs44= gnu/lib/gcc44/csu gnu/lib/gcc44/libgcc _startup_libs= lib/csu lib/libc lib/libc_rtld _prebuild_libs= lib/libbz2 lib/libz @@ -873,19 +880,11 @@ _prebuild_libs+= lib/libutil _generic_libs= gnu/lib -.if !defined(NO_CRYPT) && defined(WANT_KERBEROS) -_prebuild_libs+= kerberos5/tools -_prebuild_libs+= kerberos5/lib/libasn1 -_prebuild_libs+= kerberos5/lib/libgssapi -_prebuild_libs+= kerberos5/lib/libkrb5 -_prebuild_libs+= kerberos5/lib/libroken -_generic_libs+= kerberos5/lib -.endif - _prebuild_libs+= lib/libcom_err lib/libcrypt lib/libmd \ lib/libncurses/libncurses lib/libopie lib/libradius \ lib/libsbuf lib/libtacplus lib/libm \ - lib/libpam lib/libypclnt lib/lib${THREAD_LIB} + lib/libpam lib/libypclnt lib/lib${THREAD_LIB} \ + lib/libpthread lib/libprop lib/libdevattr lib/libopie__L lib/libradius__L lib/libtacplus__L: lib/libmd__L @@ -904,7 +903,7 @@ _generic_libs+= secure/lib _generic_libs+= usr.bin/lex/lib -.for _lib in ${_startup_libs34} ${_startup_libs41} \ +.for _lib in ${_startup_libs41} ${_startup_libs44} \ ${_startup_libs} ${_prebuild_libs} ${_generic_libs} ${_lib}__L: .PHONY .if exists(${.CURDIR}/${_lib}) @@ -917,16 +916,16 @@ ${_lib}__L: .PHONY .endfor _startup_libs: ${_startup_libs:S/$/__L/} -_startup_libs34: ${_startup_libs34:S/$/__L/} _startup_libs41: ${_startup_libs41:S/$/__L/} +_startup_libs44: ${_startup_libs44:S/$/__L/} _prebuild_libs: ${_prebuild_libs:S/$/__L/} _generic_libs: ${_generic_libs:S/$/__L/} # library targets must be ordered because there are inter-library # races (e.g. generation of tconfig.h) # -.ORDER: ${_startup_libs34:S/$/__L/} .ORDER: ${_startup_libs41:S/$/__L/} +.ORDER: ${_startup_libs44:S/$/__L/} .ORDER: ${_startup_libs:S/$/__L/} .ORDER: ${_prebuild_libs:S/$/__L/} .ORDER: ${_generic_libs:S/$/__L/}