diff options
-rw-r--r-- | .Makefile.inc | 9 | ||||
-rwxr-xr-x | configure | 1 | ||||
-rwxr-xr-x | make/calcdep.pl | 21 |
3 files changed, 18 insertions, 13 deletions
diff --git a/.Makefile.inc b/.Makefile.inc index 4f619feac..1eda95f80 100644 --- a/.Makefile.inc +++ b/.Makefile.inc @@ -186,6 +186,7 @@ configureclean: rm -f BSDmakefile rm -f GNUmakefile rm -f include/inspircd_config.h + rm -f include/inspircd_version.h rm -f include/inspircd_se_config.h distclean: clean configureclean @@ -198,7 +199,6 @@ help: @echo 'Flags:' @echo ' V=1 Show the full command being executed instead of "BUILD: dns.cpp"' @echo ' D=1 Enable debug build, for module development or crash tracing' - @echo ' O=objdir Use an alternate location for storing object files' @echo ' -j <N> Run a parallel build using N jobs' @echo '' @echo 'User targets:' @@ -207,10 +207,9 @@ help: @echo ' Currently installs to ${BASE}' @echo ' debug Compile a debug build. Equivalent to "make D=1 all"' @echo '' - @echo ' M=m_foo Builds a single module' - @echo ' T=target Builds a user-specified target' - @echo ' Target can be a file path relative to src/, or one of:' - @echo ' inspircd commands modules' + @echo ' M=m_foo Builds a single module (cmd_foo also works here)' + @echo ' T=target Builds a user-specified target, such as "inspircd" or "modules"' + @echo ' Other targets are specified by their path in the build directory' @echo ' Multiple targets may be separated by a space' @echo '' @echo ' clean Cleans object files produced by the compile' @@ -139,6 +139,7 @@ if (defined $opt_base_dir) $config{CONFIG_DIR} = resolve_directory($config{BASE_DIR}."/conf"); # Configuration Directory $config{MODULE_DIR} = resolve_directory($config{BASE_DIR}."/modules"); # Modules Directory $config{BINARY_DIR} = resolve_directory($config{BASE_DIR}."/bin"); # Binary Directory +$config{BUILD_DIR} = resolve_directory($config{ME}."/build"); # Build Directory if (defined $opt_config_dir) { diff --git a/make/calcdep.pl b/make/calcdep.pl index 1a65f836b..05199569c 100755 --- a/make/calcdep.pl +++ b/make/calcdep.pl @@ -1,7 +1,7 @@ #!/usr/bin/perl use strict; use warnings; -use Getopt::Long; +use POSIX qw(getcwd); sub find_output($); sub gendep($); @@ -22,8 +22,7 @@ sub run() { mkdir 'obj'; mkdir 'modules'; symlink "$ENV{SOURCEPATH}/include", 'include'; - $build = `pwd`; - chomp $build; + $build = getcwd(); open MAKE, '>real.mk' or die "Could not write real.mk: $!"; chdir "$ENV{SOURCEPATH}/src"; @@ -52,9 +51,10 @@ END opendir my $moddir, 'modules'; for my $dir (readdir $moddir) { next unless $dir =~ /^m_/ && -d "modules/$dir"; - mkdir "$build/obj/$dir"; - dep_dir "modules/$dir"; - push @modlist, "modules/$dir.so"; + if (dep_dir "modules/$dir") { + mkdir "$build/obj/$dir"; + push @modlist, "modules/$dir.so"; + } } my $core_mk = join ' ', @core_deps; @@ -141,7 +141,12 @@ sub dep_dir($) { push @ofiles, $ofile; } closedir DIR; - my $ofiles = join ' ', @ofiles; - print MAKE "$dir.so: $ofiles\n\t\$(RUNCC) \$(PICLDFLAGS) -o \$\@ \$^\n"; + if (@ofiles) { + my $ofiles = join ' ', @ofiles; + print MAKE "$dir.so: $ofiles\n\t\$(RUNCC) \$(PICLDFLAGS) -o \$\@ \$^\n"; + return 1; + } else { + return 0; + } } |