Changeset 2607 for box/trunk/infrastructure
- Timestamp:
- 15/02/2010 12:43:03 (2 years ago)
- File:
-
- 1 edited
-
box/trunk/infrastructure/makebuildenv.pl.in (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
box/trunk/infrastructure/makebuildenv.pl.in
r2598 r2607 258 258 my @md; # module dependencies 259 259 my @lo; # link line options 260 for (@deps)260 for (@deps) 261 261 { 262 262 if(/\A-l/) … … 274 274 # make directories, but not if we're using an external library and this a library module 275 275 my ($s,$d) = split /\//,$mod; 276 if ($s ne 'lib' ||$external_lib eq '')276 if ($s ne 'lib' or $external_lib eq '') 277 277 { 278 278 mkdir "release/$s",0755; … … 372 372 } 373 373 374 # Then write a makefile for each module 374 375 print "done\n\nGenerating Makefiles...\n"; 375 376 376 377 my %module_resources_win32; 377 378 378 # Then write a makefile for each module379 379 for my $mod (@implicit_deps, @modules) 380 380 { … … 776 776 print MAKE $deps_makeinfo if $bsd_make; 777 777 778 # get the list of library things to add -- in order of dependency so things link properly 779 my $lib_files = join(' ',map {($_ =~ m/lib\/(.+)\Z/)?('$(OUTBASE)/'.$_.'/'.$1.'.a'):undef} (reverse(@all_deps_for_module))); 778 # get the list of library things to add -- in order of dependency 779 # so things link properly 780 my @lib_files; 781 foreach my $dep (reverse @all_deps_for_module) 782 { 783 if ($dep =~ m|^lib\/(.+)$|) 784 { 785 push @lib_files, "\$(OUTBASE)/$dep/$1.a"; 786 } 787 elsif ($dep =~ m|^([^/]+)$|) 788 { 789 push @lib_files, "../../$dep/lib$1.a"; 790 } 791 } 780 792 781 793 # need to see if the extra makefile fragments require extra object files … … 796 808 797 809 print MAKE $end_target,': ',$o_file_list; 798 print MAKE " ",$lib_filesunless $target_is_library;810 print MAKE " @lib_files" unless $target_is_library; 799 811 print MAKE "\n"; 800 812 … … 823 835 # need to be... least used first, in absolute order they appear in the modules.txt file 824 836 my @libops; 837 825 838 sub libops_fill 826 839 { 827 my ($m,$r) = @_; 828 push @$r,$_ for(@{$module_library_link_opts{$m}}); 829 libops_fill($_,$r) for(@{$module_dependency{$m}}); 830 } 840 my ($module, $libops_ref) = @_; 841 842 my $library_link_opts = $module_library_link_opts{$module}; 843 if ($library_link_opts) 844 { 845 push @$libops_ref, @$library_link_opts; 846 } 847 848 my $deps = $module_dependency{$module}; 849 foreach my $dep (@$deps) 850 { 851 libops_fill($dep, $libops_ref); 852 } 853 } 854 831 855 libops_fill($mod,\@libops); 856 832 857 my $lo = ''; 833 858 my %ldone; … … 842 867 print MAKE "\t\$(_LINK) \$(LDFLAGS) $link_line_extra " . 843 868 "-o $end_target $o_file_list " . 844 " $lib_files$lo $platform_lib_files\n";869 "@lib_files $lo $platform_lib_files\n"; 845 870 } 846 871 # tests need to copy the test file over
Note: See TracChangeset
for help on using the changeset viewer.
