summaryrefslogtreecommitdiff
path: root/source4/build
diff options
context:
space:
mode:
Diffstat (limited to 'source4/build')
-rw-r--r--source4/build/smb_build/makefile.pm65
1 files changed, 22 insertions, 43 deletions
diff --git a/source4/build/smb_build/makefile.pm b/source4/build/smb_build/makefile.pm
index 74ca539a09..c024e1de53 100644
--- a/source4/build/smb_build/makefile.pm
+++ b/source4/build/smb_build/makefile.pm
@@ -294,58 +294,34 @@ sub _prepare_obj_list($$)
{
my $var = shift;
my $ctx = shift;
- my $tmpobjlist;
- my $output;
- $tmpobjlist = array2oneperline($ctx->{OBJ_LIST});
+ my $tmplist = array2oneperline($ctx->{OBJ_LIST});
- $output = << "__EOD__";
+ return << "__EOD__";
###################################
# Start $var $ctx->{NAME} OBJ LIST
-$var\_$ctx->{NAME}_OBJS =$tmpobjlist
+$var\_$ctx->{NAME}_OBJS =$tmplist
# End $var $ctx->{NAME} OBJ LIST
###################################
__EOD__
-
- return $output;
}
-###########################################################
-# This function creates a object file list for a subsystem
-#
-# $output = _prepare_subsystem_obj_list($subsystem_ctx)
-#
-# $subsystem_ctx - the subsystem context
-#
-# $subsystem_ctx->{NAME} - the subsystem name
-# $subsystem_ctx->{OBJ_LIST} - the list of objectfiles which sould be linked to this subsystem
-#
-# $output - the resulting output buffer
-sub _prepare_subsystem_obj_list($)
+sub _prepare_cflags($$)
{
+ my $var = shift;
my $ctx = shift;
- return _prepare_var_obj_list("SUBSYSTEM",$ctx);
-}
+ my $tmplist = array2oneperline($ctx->{CFLAGS});
-###########################################################
-# This function creates a object file list for a module
-#
-# $output = _prepare_module_obj_and_lib_list($module_ctx)
-#
-# $module_ctx - the module context
-#
-# $module_ctx->{NAME} - the module binary name
-# $module_ctx->{OBJ_LIST} - the list of objectfiles which sould be linked to this module
-#
-# $output - the resulting output buffer
-sub _prepare_module_obj_list($)
-{
- my $ctx = shift;
-
- return _prepare_var_obj_list("MODULE",$ctx);
+ return << "__EOD__";
+###################################
+# Start $var $ctx->{NAME} CFLAGS
+$var\_$ctx->{NAME}_CFLAGS =$tmplist
+# End $var $ctx->{NAME} CFLAGS
+###################################
+__EOD__
}
###########################################################
@@ -487,8 +463,6 @@ $output .= add_target_flags($ctx, "library_" . $ctx->{NAME});
return $output;
}
-
-
###########################################################
# This function creates a make rule for linking a binary
#
@@ -619,14 +593,19 @@ __EOD__
return $output;
}
-sub _prepare_obj_lists($)
+sub _prepare_target_settings($)
{
my $CTX = shift;
my $output = "";
foreach my $key (values %$CTX) {
- next if not defined($key->{OBJ_LIST});
- $output .= _prepare_obj_list($key->{TYPE}, $key);
+ if (defined($key->{OBJ_LIST})) {
+ $output .= _prepare_obj_list($key->{TYPE}, $key);
+ }
+
+ if (defined($key->{OBJ_LIST})) {
+ $output .= _prepare_cflags($key->{TYPE}, $key);
+ }
}
return $output;
@@ -826,7 +805,7 @@ sub _prepare_makefile_in($)
$output .= _prepare_std_CC_rule("c","o",'@PICFLAG@',"Compiling","Rule for std objectfiles");
$output .= _prepare_std_CC_rule("h","h.gch",'@PICFLAG@',"Precompiling","Rule for precompiled headerfiles");
- $output .= _prepare_obj_lists($CTX);
+ $output .= _prepare_target_settings($CTX);
$output .= _prepare_rule_lists($CTX);