1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-27 14:04:05 +03:00

r7271: added the ability to specify a target specific set of CFLAGS for

binaries and libraries. This makes it possible to build heimdal with
our build system, which means users don't have to suffer two build
systems.
(This used to be commit a31ec2a750d1e668e8ccdbbcb01762bfbc08cce5)
This commit is contained in:
Andrew Tridgell 2005-06-04 11:39:23 +00:00 committed by Gerald (Jerry) Carter
parent d26f46f72c
commit 86bcccfba5
2 changed files with 28 additions and 2 deletions

View File

@ -23,7 +23,8 @@ my %attribute_types = (
"MAJOR_VERSION" => "string",
"MINOR_VERSION" => "string",
"RELEASE_VERSION" => "string",
"ENABLE" => "bool"
"ENABLE" => "bool",
"TARGET_CFLAGS" => "string"
);
###########################################################

View File

@ -103,6 +103,24 @@ __EOD__
return $output;
}
#############################
# return makefile fragment for
# target specific rules
sub add_target_flags($$)
{
my $ctx = shift;
my $name = shift;
my $output = "";
if ($ctx->{TARGET_CFLAGS}) {
$output .= << "__EOD__";
$name: TARGET_CFLAGS = $ctx->{TARGET_CFLAGS}
__EOD__
}
return $output;
}
sub _prepare_default_rule($)
{
my $ctx = shift;
@ -215,7 +233,7 @@ sub _prepare_std_CC_rule($$$$$)
# Start $comment
.$src.$dst:
\@echo $message \$\*.$src
\@\$(CC) \$(CC_FLAGS) $flags -c \$< -o \$\@
\@\$(CC) \$(TARGET_CFLAGS) \$(CC_FLAGS) $flags -c \$< -o \$\@
\@BROKEN_CC\@ -mv `echo \$\@ | sed 's%^.*/%%g'` \$\@
#End $comment
###################################
@ -400,11 +418,14 @@ __EOD__
$output .= << "__EOD__";
library_$ctx->{NAME}: basics bin/lib$ctx->{LIBRARY_NAME}
# End Library $ctx->{NAME}
###################################
__EOD__
$output .= add_target_flags($ctx, "library_" . $ctx->{NAME});
return $output;
}
@ -461,6 +482,8 @@ library_$ctx->{NAME}: basics $ctx->{TARGET}
__EOD__
$output .= add_target_flags($ctx, "library_" . $ctx->{NAME});
return $output;
}
@ -514,6 +537,8 @@ binary_$ctx->{BINARY}: basics bin/$ctx->{BINARY}
__EOD__
$output .= add_target_flags($ctx, "binary_" . $ctx->{BINARY});
return $output;
}