r12218: Use common functions for generating lists
authorJelmer Vernooij <jelmer@samba.org>
Tue, 13 Dec 2005 21:00:52 +0000 (21:00 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:47:21 +0000 (13:47 -0500)
source/build/smb_build/makefile.pm
source/scripting/config.mk

index 0543037fef50d3bc18c0b3b39aff6e81a775ff4e..5d7a31379d0f102aa689d98d30241d1f18642ac6 100644 (file)
@@ -216,24 +216,24 @@ sub array2oneperline($)
        return $output;
 }
 
-sub _prepare_obj_list($$$)
+sub _prepare_list($$$)
 {
-       my ($self,$var,$ctx) = @_;
+       my ($self,$ctx,$var) = @_;
 
-       my $tmplist = array2oneperline($ctx->{OBJ_LIST});
+       my $tmplist = array2oneperline($ctx->{$var});
        return if ($tmplist eq "");
 
-       $self->output("$var\_$ctx->{NAME}_OBJS =$tmplist\n");
+       $self->output("$ctx->{TYPE}\_$ctx->{NAME}_$var =$tmplist\n");
 }
 
-sub _prepare_cflags($$$)
+sub _prepare_obj_list($$$)
 {
-       my ($self, $var,$ctx) = @_;
+       my ($self,$var,$ctx) = @_;
 
-       my $tmplist = array2oneperline($ctx->{CFLAGS});
+       my $tmplist = array2oneperline($ctx->{OBJ_LIST});
        return if ($tmplist eq "");
 
-       $self->output("$var\_$ctx->{NAME}_CFLAGS =$tmplist\n");
+       $self->output("$var\_$ctx->{NAME}_OBJS =$tmplist\n");
 }
 
 sub SharedLibrary($$)
@@ -243,23 +243,19 @@ sub SharedLibrary($$)
        push (@{$self->{shared_libs}}, "bin/$ctx->{LIBRARY_NAME}");
 
        $self->_prepare_obj_list($ctx->{TYPE}, $ctx);
-       $self->_prepare_cflags($ctx->{TYPE}, $ctx);
-
-       my $tmpdepend = array2oneperline($ctx->{DEPEND_LIST});
-       my $tmpshlink = array2oneperline($ctx->{LINK_LIST});
-       my $tmpshflag = array2oneperline($ctx->{LINK_FLAGS});
+       $self->_prepare_list($ctx, "CFLAGS");
+       $self->_prepare_list($ctx, "DEPEND_LIST");
+       $self->_prepare_list($ctx, "LINK_LIST");
+       $self->_prepare_list($ctx, "LINK_FLAGS");
 
        $self->output(<< "__EOD__"
-LIBRARY_$ctx->{NAME}_DEPEND_LIST =$tmpdepend
-LIBRARY_$ctx->{NAME}_SHARED_LINK_LIST =$tmpshlink
-LIBRARY_$ctx->{NAME}_SHARED_LINK_FLAGS =$tmpshflag
 #
 
 $ctx->{TARGET}: \$(LIBRARY_$ctx->{NAME}_DEPEND_LIST) \$(LIBRARY_$ctx->{NAME}_OBJS) bin/.dummy
        \@echo Linking \$\@
        \@\$(SHLD) \$(SHLD_FLAGS) -o \$\@ \\
-               \$(LIBRARY_$ctx->{NAME}_SHARED_LINK_FLAGS) \\
-               \$(LIBRARY_$ctx->{NAME}_SHARED_LINK_LIST)
+               \$(LIBRARY_$ctx->{NAME}_LINK_FLAGS) \\
+               \$(LIBRARY_$ctx->{NAME}_LINK_LIST)
 
 __EOD__
 );
@@ -287,11 +283,9 @@ sub MergedObj($$)
 
        return unless $ctx->{TARGET};
 
-       my $tmpdepend = array2oneperline($ctx->{DEPEND_LIST});
-
        $self->_prepare_obj_list($ctx->{TYPE}, $ctx);
-       $self->_prepare_cflags($ctx->{TYPE}, $ctx);
-       $self->output("$ctx->{TYPE}_$ctx->{NAME}_DEPEND_LIST = $tmpdepend\n");
+       $self->_prepare_list($ctx, "CFLAGS");
+       $self->_prepare_list($ctx, "DEPEND_LIST");
 
        $self->output("$ctx->{TARGET}: \$($ctx->{TYPE}_$ctx->{NAME}_OBJS)\n");
 
@@ -303,13 +297,12 @@ sub MergedObj($$)
 sub ObjList($$)
 {
        my ($self,$ctx) = @_;
-       my $tmpdepend = array2oneperline($ctx->{DEPEND_LIST});
 
        return unless $ctx->{TARGET};
 
        $self->_prepare_obj_list($ctx->{TYPE}, $ctx);
-       $self->_prepare_cflags($ctx->{TYPE}, $ctx);
-       $self->output("$ctx->{TYPE}_$ctx->{NAME}_DEPEND_LIST = $tmpdepend\n");
+       $self->_prepare_list($ctx, "CFLAGS");
+       $self->_prepare_list($ctx, "DEPEND_LIST");
        $self->output("$ctx->{TARGET}: ");
        $self->output("\$($ctx->{TYPE}_$ctx->{NAME}_DEPEND_LIST) \$($ctx->{TYPE}_$ctx->{NAME}_OBJS)\n");
        $self->output("\t\@touch $ctx->{TARGET}\n");
@@ -322,21 +315,18 @@ sub StaticLibrary($$)
        push (@{$self->{static_libs}}, $ctx->{OUTPUT});
 
        $self->_prepare_obj_list($ctx->{TYPE}, $ctx);
-       $self->_prepare_cflags($ctx->{TYPE}, $ctx);
+       $self->_prepare_list($ctx, "CFLAGS");
 
-       my $tmpdepend = array2oneperline($ctx->{DEPEND_LIST});
-       my $tmpstlink = array2oneperline($ctx->{LINK_LIST});
-       my $tmpstflag = array2oneperline($ctx->{LINK_FLAGS});
+       $self->_prepare_list($ctx, "DEPEND_LIST");
+       $self->_prepare_list($ctx, "LINK_LIST");
+       $self->_prepare_list($ctx, "LINK_FLAGS");
 
        $self->output(<< "__EOD__"
-LIBRARY_$ctx->{NAME}_DEPEND_LIST =$tmpdepend
-#
-LIBRARY_$ctx->{NAME}_STATIC_LINK_LIST =$tmpstlink
 #
 $ctx->{TARGET}: \$(LIBRARY_$ctx->{NAME}_DEPEND_LIST) \$(LIBRARY_$ctx->{NAME}_OBJS) bin/.dummy
        \@echo Linking \$@
        \@\$(STLD) \$(STLD_FLAGS) \$@ \\
-               \$(LIBRARY_$ctx->{NAME}_STATIC_LINK_LIST)
+               \$(LIBRARY_$ctx->{NAME}_LINK_LIST)
 
 library_$ctx->{NAME}: basics $ctx->{TARGET}
 
@@ -365,21 +355,17 @@ sub Binary($$)
        }
 
        $self->_prepare_obj_list($ctx->{TYPE}, $ctx);
-       $self->_prepare_cflags($ctx->{TYPE}, $ctx);
-       my $tmpdepend = array2oneperline($ctx->{DEPEND_LIST});
-       my $tmplink = array2oneperline($ctx->{LINK_LIST});
-       my $tmpflag = array2oneperline($ctx->{LINK_FLAGS});
+       $self->_prepare_list($ctx, "CFLAGS");
+       $self->_prepare_list($ctx, "DEPEND_LIST");
+       $self->_prepare_list($ctx, "LINK_LIST");
+       $self->_prepare_list($ctx, "LINK_FLAGS");
 
        $self->output(<< "__EOD__"
 #
-BINARY_$ctx->{NAME}_DEPEND_LIST =$tmpdepend
-BINARY_$ctx->{NAME}_LINK_LIST =$tmplink
-BINARY_$ctx->{NAME}_LINK_FLAGS =$tmpflag
 #
 bin/$ctx->{BINARY}: bin/.dummy \$(BINARY_$ctx->{NAME}_DEPEND_LIST) \$(BINARY_$ctx->{NAME}_OBJS)
        \@echo Linking \$\@
        \@\$(CC) \$(LDFLAGS) -o \$\@ \\
-               \$\(BINARY_$ctx->{NAME}_LINK_FLAGS) \\
                \$\(BINARY_$ctx->{NAME}_LINK_LIST) \\
                \$\(BINARY_$ctx->{NAME}_LINK_FLAGS)
 binary_$ctx->{BINARY}: basics bin/$ctx->{BINARY}
index 69a5dd4efe1d089aa1ea863614305346bbae5743..15e6e8539e75e642867d61691207118be7fa96d3 100644 (file)
@@ -22,7 +22,7 @@ scripting/swig/tdb_wrap.c: scripting/swig/tdb.i
 
 scripting/swig/_tdb.so: scripting/swig/tdb_wrap.o $(LIBRARY_swig_tdb_DEPEND_LIST)
        $(SHLD) $(SHLD_FLAGS) -o scripting/swig/_tdb.so scripting/swig/tdb_wrap.o \
-               $(LIBRARY_swig_tdb_SHARED_LINK_LIST) $(LIBRARY_swig_tdb_SHARED_LINK_FLAGS)
+               $(LIBRARY_swig_tdb_LINK_LIST) $(LIBRARY_swig_tdb_LINK_FLAGS)
 
 SWIG_INCLUDES = librpc/gen_ndr/samr.i librpc/gen_ndr/lsa.i librpc/gen_ndr/spoolss.i
 
@@ -30,7 +30,7 @@ scripting/swig/dcerpc_wrap.c: scripting/swig/dcerpc.i scripting/swig/samba.i scr
        swig -python scripting/swig/dcerpc.i
 
 scripting/swig/_dcerpc.so: scripting/swig/dcerpc_wrap.o $(LIBRARY_swig_dcerpc_DEPEND_LIST)
-       $(SHLD) $(SHLD_FLAGS) -o scripting/swig/_dcerpc.so scripting/swig/dcerpc_wrap.o $(LIBRARY_swig_dcerpc_SHARED_LINK_LIST) $(LIBRARY_swig_dcerpc_SHARED_LINK_FLAGS)
+       $(SHLD) $(SHLD_FLAGS) -o scripting/swig/_dcerpc.so scripting/swig/dcerpc_wrap.o $(LIBRARY_swig_dcerpc_LINK_LIST) $(LIBRARY_swig_dcerpc_LINK_FLAGS)
 
 swig_clean:
        -rm -f scripting/swig/_tdb.so scripting/swig/tdb.pyc scripting/swig/tdb.py scripting/swig/tdb_wrap.c scripting/swig/tdb_wrap.o