use strict;
use warnings FATAL => qw(all);
+use File::Basename qw(basename);
+
use constant {
BUILDPATH => $ENV{BUILDPATH},
SOURCEPATH => $ENV{SOURCEPATH}
END
my(@core_deps, @modlist);
- for my $file (<*.cpp>, <modes/*.cpp>, <socketengines/*.cpp>, "threadengines/threadengine_pthread.cpp") {
+ for my $file (<*.cpp>, <socketengines/*.cpp>, "threadengines/threadengine_pthread.cpp") {
my $out = find_output $file;
dep_cpp $file, $out, 'gen-o';
next if $file =~ m#^socketengines/# && $file ne "socketengines/socketengine_$ENV{SOCKETENGINE}.cpp";
END
my(@deps, @srcs);
- for my $file (<*.cpp>, <modes/*.cpp>, <socketengines/*.cpp>, <coremods/*.cpp>, <coremods/core_*/*.cpp>,
+ for my $file (<*.cpp>, <socketengines/*.cpp>, <coremods/*.cpp>, <coremods/core_*/*.cpp>,
<modules/*.cpp>, <modules/m_*/*.cpp>, "threadengines/threadengine_pthread.cpp") {
my $out = find_output $file, 1;
if ($out =~ m#obj/([^/]+)/[^/]+.o$#) {
obj/ld-extra.cmd: $core_src
\@\$(SOURCEPATH)/make/unit-cc.pl gen-ld \$\@ \$^ \$>
-bin/inspircd: obj/ld-extra.cmd $core_mk
+bin/inspircd: $core_mk obj/ld-extra.cmd
\@\$(SOURCEPATH)/make/unit-cc.pl static-ld \$\@ \$^ \$>
inspircd: bin/inspircd
my($file) = @_;
my $out = find_output $file;
+ my $name = basename $out, '.so';
+ print MAKE ".PHONY: $name\n";
+ print MAKE "$name: $out\n";
+
dep_cpp $file, $out, 'gen-so';
return $out;
}
closedir DIR;
if (@ofiles) {
my $ofiles = join ' ', @ofiles;
+ my $name = basename $outdir;
+ print MAKE ".PHONY: $name\n";
+ print MAKE "$name: $outdir.so\n";
print MAKE "$outdir.so: $ofiles\n";
print MAKE "\t@\$(SOURCEPATH)/make/unit-cc.pl link-dir \$\@ ${\SOURCEPATH}/src/$dir \$^ \$>\n";
return 1;