X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/2647b10332087c0705b9d8a38c8af473a8a4acba..a86a2725f697fec44ea1527b8c11ff43798c9dfe:/mkfiles.pl diff --git a/mkfiles.pl b/mkfiles.pl index b92dcb13..842d7cb3 100755 --- a/mkfiles.pl +++ b/mkfiles.pl @@ -57,7 +57,7 @@ while () { $i = shift @objs; if ($groups{$i}) { foreach $j (@{$groups{$i}}) { unshift @objs, $j; } - } elsif (($i eq "[G]" or $i eq "[C]" or + } elsif (($i eq "[G]" or $i eq "[C]" or $i eq "[M]" or $i eq "[X]" or $i eq "[U]") and defined $prog) { $type = substr($i,1,1); } else { @@ -198,12 +198,13 @@ sub objects { } sub splitline { - my ($line, $width) = @_; + my ($line, $width, $splitchar) = @_; my ($result, $len); $len = (defined $width ? $width : 76); + $splitchar = (defined $splitchar ? $splitchar : '\\'); while (length $line > $len) { $line =~ /^(.{0,$len})\s(.*)$/ or $line =~ /^(.{$len,}?\s(.*)$/; - $result .= $1 . " \\\n\t\t"; + $result .= $1 . " ${splitchar}\n\t\t"; $line = $2; $len = 60; } @@ -211,9 +212,11 @@ sub splitline { } sub deps { - my ($otmpl, $rtmpl, $prefix, $dirsep) = @_; + my ($otmpl, $rtmpl, $prefix, $dirsep, $depchar, $splitchar) = @_; my ($i, $x, $y); - my @deps; + my @deps, @ret; + @ret = (); + $depchar ||= ':'; foreach $i (sort keys %depends) { if ($i =~ /^(.*)\.res/) { next if !defined $rtmpl; @@ -228,8 +231,9 @@ sub deps { s/\//$dirsep/g; $_ = $prefix . $_; } @deps; - print &splitline(sprintf "%s: %s", $x, join " ", @deps), "\n"; + push @ret, {obj => $x, deps => [@deps]}; } + return @ret; } sub prognames { @@ -312,7 +316,10 @@ foreach $p (&prognames("GC")) { print &splitline("\t\$(CC)" . $mw . " \$(LDFLAGS) -o \$@ " . $objstr . " $libstr", 69), "\n\n"; } -&deps("X.o", "X.res.o", "", "/"); +foreach $d (&deps("X.o", "X.res.o", "", "/")) { + print &splitline(sprintf("%s: %s", $d->{obj}, join " ", @{$d->{deps}})), + "\n"; +} print "\n". "version.o: FORCE;\n". @@ -403,7 +410,10 @@ foreach $p (&prognames("GC")) { print "\techo " . &objects($p, undef, "X.res", undef) . " >> $prog.rsp\n"; print "\n"; } -&deps("X.obj", "X.res", "", "\\"); +foreach $d (&deps("X.obj", "X.res", "", "\\")) { + print &splitline(sprintf("%s: %s", $d->{obj}, join " ", @{$d->{deps}})), + "\n"; +} print "\n". "version.o: FORCE\n". @@ -472,7 +482,10 @@ foreach $p (&prognames("GC")) { } print "\n"; } -&deps("X.obj", "X.res", "", "\\"); +foreach $d (&deps("X.obj", "X.res", "", "\\")) { + print &splitline(sprintf("%s: %s", $d->{obj}, join " ", @{$d->{deps}})), + "\n"; +} print "\n". "# Hack to force version.o to be rebuilt always\n". @@ -540,7 +553,10 @@ foreach $p (&prognames("XU")) { print &splitline("\t\$(CC)" . $mw . " \$(${type}LDFLAGS) -o \$@ " . $objstr . " $libstr", 69), "\n\n"; } -&deps("X.o", undef, "../", "/"); +foreach $d (&deps("X.o", undef, "../", "/")) { + print &splitline(sprintf("%s: %s", $d->{obj}, join " ", @{$d->{deps}})), + "\n"; +} print "\n". "version.o: FORCE;\n". @@ -558,3 +574,79 @@ map("\t\$(INSTALL_DATA) -m 644 $_ \$(man1dir)/$_\n", &manpages("XU", "1")), "\t\$(MAKE) install INSTALL_PROGRAM=\"\$(INSTALL_PROGRAM) -s\"\n", "\n"; select STDOUT; close OUT; + +##-- MPW Makefile +open OUT, ">mac/Makefile.mpw"; select OUT; +print <{obj}, join " ", @{$d->{deps}}), + undef, "\xb6"), "\n"; + print "\t{C} ", $d->{deps}->[0], " -o {Targ} {COptions_68K}\n\n"; +} +foreach $d (&deps("X.c.x", undef, "::", ":")) { + print &splitline(sprintf("%s \xc4 %s", $d->{obj}, join " ", @{$d->{deps}}), + undef, "\xb6"), "\n"; + # The odd stuff here seems to stop afpd getting confused. + print "\techo -n > {Targ}\n"; + print "\tsetfile -t XCOF {Targ}\n"; + print "\t{PPCC} ", $d->{deps}->[0], " -o {Targ} {COptions_PPC}\n\n"; +} +select STDOUT; close OUT;