Changeset 3663

Show
Ignore:
Timestamp:
12/23/07 21:13:04 (1 year ago)
Author:
n0-1
Message:

support selectively building packages parallel

These changs enable the '-j' flag of make for supported packages.
* The kernel generally supports parallel building, so default to

use it there if enabled at all.

* When the package makefile defines ${PKG_PARALLEL} (set to "1" or

something), parallel building is enabled for this package either
_if_ it uses "auto" or "bsd" for ${BUILD_STYLE}

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/freewrt/Config.in

    r3659 r3663  
    164164          This option is only to prefix the _cross_compile calls with ccache. 
    165165 
     166config FWRT_MAKE_PARALLEL 
     167        bool "Enable parallel building of packages that claim to support it" 
     168        default n 
     169 
     170config FWRT_MAKE_PARALLEL_KERNEL 
     171        bool "Use multiple jobs for kernel compilation also" 
     172        default y 
     173        depends on FWRT_MAKE_PARALLEL 
     174 
     175config FWRT_MAKE_JOBS 
     176        int "How many jobs to use" 
     177        default 1 
     178        depends on FWRT_MAKE_PARALLEL 
     179        help 
     180          The number specified here will be passed to make as N in '-jN' 
     181 
    166182config FWRT_GUI_SDK 
    167183        bool "Build hosttools for C++ GUI framework" 
  • trunk/freewrt/mk/kernel-build.mk

    r3506 r3663  
    3232        touch $@ 
    3333 
     34MAKEJOBS:= 
     35ifneq (${FWRT_MAKE_PARALLEL_KERNEL},) 
     36MAKEJOBS:=      -j${FWRT_MAKE_JOBS} 
     37endif 
     38 
    3439$(LINUX_DIR)/.config: $(LINUX_BUILD_DIR)/.extract $(BUILD_DIR)/.fwrtkernelconfig 
    3540        $(TRACE) target/linux/$(BOARD)-$(KERNEL)-kernel-configure 
     
    5661$(LINUX_DIR)/vmlinux: $(LINUX_DIR)/.config 
    5762        $(TRACE) target/linux/$(BOARD)-$(KERNEL)-kernel-compile 
    58         env GCC_HONOUR_COPTS=s $(MAKE) -C $(LINUX_DIR) V=1 CROSS_COMPILE="$(KERNEL_CROSS)" ARCH=$(LINUX_KARCH) CC="$(TARGET_CC)" $(MAKE_TRACE) HOSTCFLAGS='-O2 -idirafter ${TOPDIR}/scripts' 
     63        env GCC_HONOUR_COPTS=s $(MAKE) -C $(LINUX_DIR) V=1 ${MAKEJOBS} CROSS_COMPILE="$(KERNEL_CROSS)" ARCH=$(LINUX_KARCH) CC="$(TARGET_CC)" $(MAKE_TRACE) HOSTCFLAGS='-O2 -idirafter ${TOPDIR}/scripts' 
    5964        $(TRACE) target/linux/$(BOARD)-$(KERNEL)-modules-compile 
    60         env GCC_HONOUR_COPTS=s $(MAKE) -C "$(LINUX_DIR)" V=1 CROSS_COMPILE="$(KERNEL_CROSS)" ARCH=$(LINUX_KARCH) CC="$(TARGET_CC)" modules $(MAKE_TRACE) HOSTCFLAGS='-O2 -idirafter ${TOPDIR}/scripts' 
     65        env GCC_HONOUR_COPTS=s $(MAKE) -C "$(LINUX_DIR)" V=1 ${MAKEJOBS} CROSS_COMPILE="$(KERNEL_CROSS)" ARCH=$(LINUX_KARCH) CC="$(TARGET_CC)" modules $(MAKE_TRACE) HOSTCFLAGS='-O2 -idirafter ${TOPDIR}/scripts' 
    6166        $(TRACE) target/linux/$(BOARD)-$(KERNEL)-modules-install 
    6267        rm -rf $(LINUX_BUILD_DIR)/modules 
  • trunk/freewrt/mk/pkg-bottom.mk

    r3621 r3663  
    8787        touch $@ 
    8888 
     89# can we build parallel? 
     90# - check if globally enabled 
     91# - check if the package OK's it 
     92MAKEJOBS:= 
     93ifneq (${FWRT_MAKE_PARALLEL},) 
     94ifneq (${PKG_PARALLEL},) 
     95MAKEJOBS:=      -j${FWRT_MAKE_JOBS} 
     96endif 
     97endif 
     98 
    8999#--- build 
    90100pre-build: 
     
    95105ifneq ($(filter auto,${BUILD_STYLE}),) 
    96106        cd ${WRKBUILD} && env ${MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \ 
    97             ${MAKE_FLAGS} ${ALL_TARGET} 
     107            ${MAKEJOBS} ${MAKE_FLAGS} ${ALL_TARGET} 
    98108else ifneq ($(filter bsd,${BUILD_STYLE}),) 
    99109        cd ${WRKBUILD} && env ${MAKE_ENV} ${BSDMAKE} -f ${MAKE_FILE} \ 
    100             ${MAKE_FLAGS} ${ALL_TARGET} 
     110            ${MAKEJOBS} ${MAKE_FLAGS} ${ALL_TARGET} 
    101111else ifneq ($(filter manual,${BUILD_STYLE}),) 
    102112        env ${MAKE_ENV} ${MAKE} do-build 
  • trunk/freewrt/package/vim/Makefile

    r3398 r3663  
    1111PKG_RELEASE=            1 
    1212PKG_MD5SUM=             44c6b4914f38d6f9aa959640b89da329 
     13PKG_PARALLEL:=          1 
    1314MASTER_SITES=           ftp://ftp.vim.org/pub/vim/unix/ 
    1415DISTFILES=              ${PKG_NAME}-${PKG_VERSION}.tar.bz2