@@ -33,14 +33,14 @@ where
3333 F : Fn ( & str ) -> Option < T > ,
3434{
3535 let prefix = env:: var ( "TARGET" ) . unwrap ( ) . to_uppercase ( ) . replace ( '-' , "_" ) ;
36- let prefixed_name = format ! ( "{}_{}" , prefix , name ) ;
36+ let prefixed_name = format ! ( "{prefix }_{name}" ) ;
3737
38- println ! ( "cargo:rerun-if-env-changed={}" , prefixed_name ) ;
38+ println ! ( "cargo:rerun-if-env-changed={prefixed_name}" ) ;
3939 if let Some ( value) = env_getter ( & prefixed_name) {
4040 return Some ( value) ;
4141 }
4242
43- println ! ( "cargo:rerun-if-env-changed={}" , name ) ;
43+ println ! ( "cargo:rerun-if-env-changed={name}" ) ;
4444 env_getter ( name)
4545}
4646
@@ -360,19 +360,29 @@ fn main() {
360360 }
361361}
362362
363+ /// Trimmed env `var`, otherwise empty string
364+ fn env_var ( var : & str ) -> String {
365+ env:: var ( var)
366+ . ok ( )
367+ . map_or_else ( String :: new, |s| s. trim ( ) . to_owned ( ) )
368+ }
369+
370+ /// Concatenate or use `CARGO_MAKEFLAGS` as `MAKEFLAGS`, otherwise use -jN `num_jobs`
363371fn make_command ( make_cmd : & str , build_dir : & Path , num_jobs : & str ) -> Command {
364372 let mut cmd = Command :: new ( make_cmd) ;
365373 cmd. current_dir ( build_dir) ;
366374
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+ let mf = env_var ( "MAKEFLAGS" ) ;
376+ let cmf = env_var ( "CARGO_MAKEFLAGS" ) ;
377+ if !cmf . is_empty ( ) {
378+ info ! ( "MAKEFLAGS={mf}" ) ;
379+ info ! ( "CARGO_MAKEFLAGS={cmf}" ) ;
380+ cmd . env ( "MAKEFLAGS" , format ! ( "{mf} {cmf}" ) ) ; // Concatenate both
381+ } else if mf . is_empty ( ) {
382+ info ! ( "MAKEFLAGS are empty, using -j={num_jobs} jobs" ) ;
375383 cmd. arg ( "-j" ) . arg ( num_jobs) ;
384+ } else {
385+ info ! ( "MAKEFLAGS={mf}" ) ; // Use MAKEFLAGS unchanged
376386 }
377387 cmd
378388}
0 commit comments