r7310: Support TARGET_CFLAGS thru recursive make
authorJelmer Vernooij <jelmer@samba.org>
Sun, 5 Jun 2005 22:30:20 +0000 (22:30 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:17:40 +0000 (13:17 -0500)
(This used to be commit 2fd997b12aa06983a614bfadca9e5f896a88b2ac)

source4/build/smb_build/config_mk.pm
source4/build/smb_build/makefile.pm

index 74ba8f2c2ea51d9da93cbe65dbd43ffa0b5d30e3..d298fe68ee0cb220e5d4ffd689da035515383494 100644 (file)
@@ -24,7 +24,7 @@ my %attribute_types = (
        "MINOR_VERSION" => "string",
        "RELEASE_VERSION" => "string",
        "ENABLE" => "bool",
-       "TARGET_CFLAGS" => "string"
+       "TARGET_CFLAGS" => "list"
 );
 
 ###########################################################
index 68d4f23b1e18580044b3f547dd85121639ee8efb..11d1693ce76274eb3c4b844c9d8d74e02bd35114 100644 (file)
@@ -97,20 +97,6 @@ SHLD_FLAGS=@LDSHFLAGS@ @LDFLAGS@ -Lbin
 __EOD__
 }
 
-
-#############################
-# return makefile fragment for 
-# target specific rules
-sub add_target_flags($$)
-{
-       my $ctx = shift;
-       my $name = shift;
-
-       return "" unless ($ctx->{TARGET_CFLAGS});
-       return "$name: TARGET_CFLAGS = $ctx->{TARGET_CFLAGS}\n";
-}
-
-
 sub _prepare_default_rule($)
 {
        my $ctx = shift;
@@ -367,8 +353,6 @@ library_$ctx->{NAME}: basics bin/lib$ctx->{LIBRARY_NAME}
 
 __EOD__
 
-$output .= add_target_flags($ctx, "library_" . $ctx->{NAME});
-
        return $output;
 }
 
@@ -376,9 +360,19 @@ sub _prepare_objlist_rule($)
 {
        my $ctx = shift;
        my $tmpdepend = array2oneperline($ctx->{DEPEND_LIST});
-       return "
-$ctx->{TYPE}_$ctx->{NAME}_DEPEND_LIST = $tmpdepend\n
-$ctx->{TYPE}_$ctx->{NAME}: \$($ctx->{TYPE}_$ctx->{NAME}_OBJS) \$($ctx->{TYPE}_$ctx->{NAME}_DEPEND_LIST)\n";
+       my $output;
+
+       $output = "$ctx->{TYPE}_$ctx->{NAME}_DEPEND_LIST = $tmpdepend\n";
+
+       $output .= "$ctx->{TYPE}_$ctx->{NAME}: \$($ctx->{TYPE}_$ctx->{NAME}_DEPEND_LIST)";
+
+       if (defined ($ctx->{TARGET_CFLAGS})) {
+               $output .= "\n\t@\$(MAKE) \$($ctx->{TYPE}_$ctx->{NAME}_OBJS) TARGET_CFLAGS=\"" . join(' ', @{$ctx->{TARGET_CFLAGS}}) . "\"\n";
+       } else {
+               $output .=" \$($ctx->{TYPE}_$ctx->{NAME}_OBJS)\n";
+       }
+
+       return $output;
 }
 
 ###########################################################
@@ -428,8 +422,6 @@ library_$ctx->{NAME}: basics $ctx->{TARGET}
 
 __EOD__
 
-$output .= add_target_flags($ctx, "library_" . $ctx->{NAME});
-
        return $output;
 }
 
@@ -477,8 +469,6 @@ binary_$ctx->{BINARY}: basics bin/$ctx->{BINARY}
 
 __EOD__
 
-$output .= add_target_flags($ctx, "binary_" . $ctx->{BINARY});
-
        return $output;
 }