summaryrefslogtreecommitdiff
path: root/source4/build/smb_build/makefile.pm
diff options
context:
space:
mode:
Diffstat (limited to 'source4/build/smb_build/makefile.pm')
-rw-r--r--source4/build/smb_build/makefile.pm43
1 files changed, 22 insertions, 21 deletions
diff --git a/source4/build/smb_build/makefile.pm b/source4/build/smb_build/makefile.pm
index 2470fa1459..9ce04ca8d4 100644
--- a/source4/build/smb_build/makefile.pm
+++ b/source4/build/smb_build/makefile.pm
@@ -23,12 +23,11 @@ sub new($$$)
$self->{output} = "";
- $self->{mkfile} = $mkfile;
-
$self->output("################################################\n");
$self->output("# Autogenerated by build/smb_build/makefile.pm #\n");
$self->output("################################################\n");
$self->output("\n");
+ $self->output($mkfile);
return $self;
}
@@ -203,6 +202,14 @@ __EOD__
$self->output("\n");
}
+sub StaticLibraryPrimitives($$)
+{
+ my ($self,$ctx) = @_;
+
+ $self->output("$ctx->{NAME}_OUTPUT = $ctx->{OUTPUT}\n");
+ $self->_prepare_list($ctx, "FULL_OBJ_LIST");
+}
+
sub SharedLibraryPrimitives($$)
{
my ($self,$ctx) = @_;
@@ -256,10 +263,10 @@ sub MergedObj($$)
$self->output("$ctx->{NAME}_OUTPUT = $ctx->{OUTPUT}\n");
$self->output(<< "__EOD__"
#
-$ctx->{RESULT_MERGED_OBJ}: \$($ctx->{NAME}_OBJ_LIST)
+$ctx->{RESULT_MERGED_OBJ}: \$($ctx->{NAME}_OBJ_FILES)
\@echo Partially linking \$@
\@mkdir -p \$(\@D)
- \$(PARTLINK) -o \$@ \$($ctx->{NAME}_OBJ_LIST)
+ \$(PARTLINK) -o \$@ \$($ctx->{NAME}_OBJ_FILES)
__EOD__
);
@@ -269,13 +276,8 @@ sub StaticLibrary($$)
{
my ($self,$ctx) = @_;
- return unless (defined($ctx->{OBJ_FILES}));
-
$self->output("STATIC_LIBS += $ctx->{TARGET_STATIC_LIBRARY}\n") if ($ctx->{TYPE} eq "LIBRARY");
- $self->output("$ctx->{NAME}_OUTPUT = $ctx->{OUTPUT}\n");
- $self->_prepare_list($ctx, "FULL_OBJ_LIST");
-
$self->output("$ctx->{RESULT_STATIC_LIBRARY}: \$($ctx->{NAME}_FULL_OBJ_LIST)\n");
}
@@ -324,9 +326,9 @@ sub PythonFiles($$)
foreach (@{$ctx->{PYTHON_FILES}}) {
my $target = "bin/python/".basename($_);
- my $source = output::add_dir_str($ctx->{BASEDIR}, $_);
+ my $source = "\$(addprefix $ctx->{BASEDIR}/, $target)";
$self->output("$target: $source\n\n");
- $self->output("PYTHON_PYS += $target\n");
+ $self->output("PYTHON_PYS += $source\n");
}
}
@@ -334,13 +336,13 @@ sub ProtoHeader($$)
{
my ($self,$ctx) = @_;
- my $priv = output::add_dir_str($ctx->{BASEDIR}, $ctx->{PRIVATE_PROTO_HEADER});
+ my $priv = "$ctx->{BASEDIR}/$ctx->{PRIVATE_PROTO_HEADER}";
$self->output("PROTO_HEADERS += $priv\n");
- $self->output("$priv: $ctx->{MK_FILE} \$($ctx->{NAME}_OBJ_LIST:.o=.c) \$(srcdir)/script/mkproto.pl\n");
+ $self->output("$priv: $ctx->{MK_FILE} \$($ctx->{NAME}_OBJ_FILES:.o=.c) \$(srcdir)/script/mkproto.pl\n");
$self->output("\t\@echo \"Creating \$@\"\n");
$self->output("\t\@mkdir -p \$(\@D)\n");
- $self->output("\t\@\$(PERL) \$(srcdir)/script/mkproto.pl --srcdir=\$(srcdir) --builddir=\$(builddir) --public=/dev/null --private=\$@ \$($ctx->{NAME}_OBJ_LIST)\n\n");
+ $self->output("\t\@\$(PERL) \$(srcdir)/script/mkproto.pl --srcdir=\$(srcdir) --builddir=\$(builddir) --public=/dev/null --private=\$@ \$($ctx->{NAME}_OBJ_FILES)\n\n");
}
sub write($$)
@@ -378,7 +380,6 @@ sub CFlags($$)
my $src_ne_build = ($srcdir ne $builddir) ? 1 : 0;
- return unless defined ($key->{OBJ_LIST});
return unless defined ($key->{FINAL_CFLAGS});
return unless (@{$key->{FINAL_CFLAGS}} > 0);
@@ -392,19 +393,19 @@ sub CFlags($$)
my @cflags = ();
foreach my $flag (@sorted_cflags) {
if($src_ne_build) {
- if($flag =~ m#^-I([^/].*$)#) {
- my $dir = $1;
- $dir =~ s#^\$\((?:src|build)dir\)/?##;
+ if($flag =~ m#^-I([^/].*$)#) {
+ my $dir = $1;
+ $dir =~ s#^\$\((?:src|build)dir\)/?##;
push(@cflags, "-I$builddir/$dir", "-I$srcdir/$dir");
- next;
- }
+ next;
+ }
}
push(@cflags, $flag);
}
my $cflags = join(' ', @cflags);
- $self->output("\$(patsubst %.ho,%.d,\$($key->{NAME}_OBJ_LIST:.o=.d)) \$($key->{NAME}_OBJ_LIST): CFLAGS+= $cflags\n");
+ $self->output("\$(patsubst %.ho,%.d,\$($key->{NAME}_OBJ_FILES:.o=.d)) \$($key->{NAME}_OBJ_FILES): CFLAGS+= $cflags\n");
}
1;