diff options
-rw-r--r-- | .Makefile.inc | 2 | ||||
-rwxr-xr-x | make/run-cc.pl | 49 | ||||
-rw-r--r-- | src/modes/Makefile | 3 |
3 files changed, 29 insertions, 25 deletions
diff --git a/.Makefile.inc b/.Makefile.inc index 4d8b94855..54ce0dd6d 100644 --- a/.Makefile.inc +++ b/.Makefile.inc @@ -7,7 +7,7 @@ # CC = @CC@ -MAKE = @MAKEPROG@ +MAKE = @MAKEPROG@ -s PROGS = inspircd NICEFLAGS = @FLAGS@ FLAGS = $(NICEFLAGS) -pedantic diff --git a/make/run-cc.pl b/make/run-cc.pl index b12466e2c..d4c976982 100755 --- a/make/run-cc.pl +++ b/make/run-cc.pl @@ -82,33 +82,38 @@ my ($r_stderr, $w_stderr); my $name = ""; my $action = ""; -foreach my $n (@ARGV) -{ - if ($n =~ /\.cpp$/) +if ($cc eq "ar") { + $name = $ARGV[1]; + $action = "ARCHIVE"; +} else { + foreach my $n (@ARGV) { - if ($action eq "BUILD") + if ($n =~ /\.cpp$/) + { + if ($action eq "BUILD") + { + $name .= " " . $n; + } + else + { + $action = "BUILD"; + $name = $n; + } + } + elsif ($action eq "BUILD") # .cpp has priority. + { + next; + } + elsif ($n eq "-o") { - $name .= " " . $n; + $action = $name = $n; } - else + elsif ($name eq "-o") { - $action = "BUILD"; + $action = "LINK"; $name = $n; } } - elsif ($action eq "BUILD") # .cpp has priority. - { - next; - } - elsif ($n eq "-o") - { - $action = $name = $n; - } - elsif ($name eq "-o") - { - $action = "LINK"; - $name = $n; - } } if (!defined($cc) || $cc eq "") { @@ -119,11 +124,11 @@ pipe($r_stderr, $w_stderr) or die "pipe stderr: $!\n"; $pid = fork; -die "Cannot fork to start gcc! $!\n" unless defined($pid); +die "Cannot fork to start $cc! $!\n" unless defined($pid); if ($pid) { - print "\t\e[1;32m$action:\e[0m\t\t$name\n" unless $name eq ""; + printf "\t\e[1;32m%-20s\e[0m%s\n", $action . ":", $name unless $name eq ""; my $fail = 0; # Parent - Close child-side pipes. diff --git a/src/modes/Makefile b/src/modes/Makefile index 800890db2..e88bcd002 100644 --- a/src/modes/Makefile +++ b/src/modes/Makefile @@ -56,8 +56,7 @@ cmode_b.o: cmode_b.cpp ../../include/base.h ../../include/modules.h ../../includ modeclasses.a: umode_w.o umode_s.o umode_o.o umode_n.o umode_i.o cmode_v.o cmode_t.o cmode_s.o cmode_p.o cmode_o.o cmode_n.o cmode_m.o cmode_l.o cmode_k.o cmode_i.o cmode_h.o cmode_b.o @-rm -rf modeclasses.a - @ar r modeclasses.a *.o 2>/dev/null - @ar -s modeclasses.a 2>/dev/null + @../../make/run-cc.pl ar crs modeclasses.a *.o clean: @-rm *.o |