@@ -302,32 +302,25 @@ fn main() {
302302
303303    // Make: 
304304    let  make = make_cmd ( & host) ; 
305-     run ( Command :: new ( make) 
306-         . current_dir ( & build_dir) 
307-         . arg ( "-j" ) 
308-         . arg ( num_jobs. clone ( ) ) ) ; 
305+     run ( & mut  make_command ( make,  & build_dir,  & num_jobs) ) ; 
309306
310307    // Skip watching this environment variables to avoid rebuild in CI. 
311308    if  env:: var ( "JEMALLOC_SYS_RUN_JEMALLOC_TESTS" ) . is_ok ( )  { 
312309        info ! ( "Building and running jemalloc tests..." ) ; 
310+ 
311+         let  mut  cmd = make_command ( make,  & build_dir,  & num_jobs) ; 
312+ 
313313        // Make tests: 
314-         run ( Command :: new ( make) 
315-             . current_dir ( & build_dir) 
316-             . arg ( "-j" ) 
317-             . arg ( num_jobs. clone ( ) ) 
318-             . arg ( "tests" ) ) ; 
314+         run ( cmd. arg ( "tests" ) ) ; 
319315
320316        // Run tests: 
321317        run ( Command :: new ( make) . current_dir ( & build_dir) . arg ( "check" ) ) ; 
322318    } 
323319
324320    // Make install: 
325-     run ( Command :: new ( make) 
326-         . current_dir ( & build_dir) 
321+     run ( make_command ( make,  & build_dir,  & num_jobs) 
327322        . arg ( "install_lib_static" ) 
328-         . arg ( "install_include" ) 
329-         . arg ( "-j" ) 
330-         . arg ( num_jobs) ) ; 
323+         . arg ( "install_include" ) ) ; 
331324
332325    println ! ( "cargo:root={}" ,  out_dir. display( ) ) ; 
333326
@@ -367,6 +360,23 @@ fn main() {
367360    } 
368361} 
369362
363+ fn  make_command ( make_cmd :  & str ,  build_dir :  & Path ,  num_jobs :  & str )  -> Command  { 
364+     let  mut  cmd = Command :: new ( make_cmd) ; 
365+     cmd. current_dir ( build_dir) ; 
366+ 
367+     if  let  Ok ( makeflags)  = std:: env:: var ( "CARGO_MAKEFLAGS" )  { 
368+         let  makeflags = if  let  Ok ( orig_makeflags)  = std:: env:: var ( "MAKEFLAGS" )  { 
369+             format ! ( "{orig_makeflags} {makeflags}" ) 
370+         }  else  { 
371+             makeflags
372+         } ; 
373+         cmd. env ( "MAKEFLAGS" ,  makeflags) ; 
374+     }  else  { 
375+         cmd. arg ( "-j" ) . arg ( num_jobs) ; 
376+     } 
377+     cmd
378+ } 
379+ 
370380fn  run_and_log ( cmd :  & mut  Command ,  log_file :  & Path )  { 
371381    execute ( cmd,  || { 
372382        run ( Command :: new ( "tail" ) . arg ( "-n" ) . arg ( "100" ) . arg ( log_file) ) ; 
0 commit comments