From 86bcccfba5ac348083f3d37911f30f1d18508688 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sat, 4 Jun 2005 11:39:23 +0000 Subject: 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) --- source4/build/smb_build/makefile.pm | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'source4/build/smb_build/makefile.pm') diff --git a/source4/build/smb_build/makefile.pm b/source4/build/smb_build/makefile.pm index 593fc5d65d..74ca539a09 100644 --- a/source4/build/smb_build/makefile.pm +++ b/source4/build/smb_build/makefile.pm @@ -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; } -- cgit