X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;ds=sidebyside;f=make%2Fcalcdep.pl;h=ad25875cfe782474c5dc37f35ff9c6915bfe84f2;hb=d811ffeda29eff11fb0a381f5f17b6d65ae0460b;hp=05199569c029177f9f74cdc00c207f01cafdec97;hpb=05b111d6a245725c81a314794fb95e8375fb6720;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/make/calcdep.pl b/make/calcdep.pl index 05199569c..ad25875cf 100755 --- a/make/calcdep.pl +++ b/make/calcdep.pl @@ -42,18 +42,29 @@ END } my @modlist; - for my $file (, ) { + for my $file () { my $out = find_output $file; dep_cpp $file, $out; push @modlist, $out; } opendir my $moddir, 'modules'; - for my $dir (readdir $moddir) { - next unless $dir =~ /^m_/ && -d "modules/$dir"; - if (dep_dir "modules/$dir") { - mkdir "$build/obj/$dir"; - push @modlist, "modules/$dir.so"; + for my $file (readdir $moddir) { + next if $file =~ /^\./; + if (-e "modules/extra/$file" && !-l "modules/$file") { + # Incorrect symlink? + print "Replacing symlink for $file found in modules/extra\n"; + rename "modules/$file", "modules/$file~"; + symlink "extra/$file", "modules/$file"; + } + if ($file =~ /^m_/ && -d "modules/$file" && dep_dir "modules/$file") { + mkdir "$build/obj/$file"; + push @modlist, "modules/$file.so"; + } + if ($file =~ /^m_.*\.cpp$/) { + my $out = find_output "modules/$file"; + dep_cpp "modules/$file", $out; + push @modlist, $out; } } @@ -62,7 +73,7 @@ END print MAKE < inspircd: bin/inspircd modules: $mods @@ -127,7 +138,7 @@ sub dep_cpp($$) { gendep $file; print MAKE "$out: $file $f2dep{$file}\n"; - print MAKE "\t@\$(SOURCEPATH)/make/unit-cc.pl \$(VERBOSE) \$< \$\@\n"; + print MAKE "\t@\$(SOURCEPATH)/make/unit-cc.pl \$(VERBOSE) \$\@ \$< \$>\n"; } sub dep_dir($) { @@ -143,7 +154,7 @@ sub dep_dir($) { closedir DIR; if (@ofiles) { my $ofiles = join ' ', @ofiles; - print MAKE "$dir.so: $ofiles\n\t\$(RUNCC) \$(PICLDFLAGS) -o \$\@ \$^\n"; + print MAKE "$dir.so: $ofiles\n\tcd \$(BUILDPATH); \$(RUNCC) \$(PICLDFLAGS) -o \$\@ \$^ \$>\n"; return 1; } else { return 0;