1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-10 09:58:01 +00:00

Allow mkfiles.pl to put multiple verbatim sections in a Makefile, and use

one of these for the MacOSX CFLAGS tweak.

[originally from svn r5404]
This commit is contained in:
Jacob Nevins 2005-02-26 17:30:41 +00:00
parent d88995b856
commit 1b3b065afc
2 changed files with 23 additions and 10 deletions

2
Recipe
View File

@ -176,7 +176,7 @@ install:
install-strip: install-strip:
$(MAKE) install INSTALL_PROGRAM="$(INSTALL_PROGRAM) -s" $(MAKE) install INSTALL_PROGRAM="$(INSTALL_PROGRAM) -s"
!end !end
!begin osx !begin osx vars
CFLAGS += -DMACOSX CFLAGS += -DMACOSX
!end !end

View File

@ -54,13 +54,14 @@ while (<IN>) {
if ($_[0] eq "!specialobj" and &mfval($_[1])) { $specialobj{$_[1]}->{$_[2]} = 1; next;} if ($_[0] eq "!specialobj" and &mfval($_[1])) { $specialobj{$_[1]}->{$_[2]} = 1; next;}
if ($_[0] eq "!begin") { if ($_[0] eq "!begin") {
if (&mfval($_[1])) { if (&mfval($_[1])) {
$divert = \$makefile_extra{$_[1]}; $sect = $_[2] ? $_[2] : "end";
$divert = \($makefile_extra{$_[1]}->{$sect});
} else { } else {
$divert = \$dummy; $divert = \$dummy;
} }
next; next;
} }
# If we're gathering help text, keep doing so. # If we're gathering help/verbatim text, keep doing so.
if (defined $divert) { ${$divert} .= "$_\n"; next; } if (defined $divert) { ${$divert} .= "$_\n"; next; }
# Ignore blank lines. # Ignore blank lines.
next if scalar @_ == 0; next if scalar @_ == 0;
@ -397,6 +398,8 @@ if (defined $makefiles{'cygwin'}) {
&splitline("RCFLAGS = \$(RCINC) --define WIN32=1 --define _WIN32=1". &splitline("RCFLAGS = \$(RCINC) --define WIN32=1 --define _WIN32=1".
" --define WINVER=0x0400 --define MINGW32_FIX=1")."\n". " --define WINVER=0x0400 --define MINGW32_FIX=1")."\n".
"\n". "\n".
$makefile_extra{'cygwin'}->{'vars'} .
"\n".
".SUFFIXES:\n". ".SUFFIXES:\n".
"\n"; "\n";
print &splitline("all:" . join "", map { " $_.exe" } &progrealnames("G:C")); print &splitline("all:" . join "", map { " $_.exe" } &progrealnames("G:C"));
@ -421,7 +424,7 @@ if (defined $makefiles{'cygwin'}) {
} }
} }
print "\n"; print "\n";
print $makefile_extra{'cygwin'}; print $makefile_extra{'cygwin'}->{'end'};
print "\nclean:\n". print "\nclean:\n".
"\trm -f *.o *.exe *.res.o *.map\n". "\trm -f *.o *.exe *.res.o *.map\n".
"\n"; "\n";
@ -467,6 +470,8 @@ if (defined $makefiles{'borland'}) {
"BCB = \$(MAKEDIR)\\..\n". "BCB = \$(MAKEDIR)\\..\n".
"!endif\n". "!endif\n".
"\n". "\n".
$makefile_extra{'borland'}->{'vars'} .
"\n".
".c.obj:\n". ".c.obj:\n".
&splitline("\tbcc32 -w-aus -w-ccc -w-par -w-pia \$(COMPAT)". &splitline("\tbcc32 -w-aus -w-ccc -w-par -w-pia \$(COMPAT)".
" \$(XFLAGS) \$(CFLAGS) ". " \$(XFLAGS) \$(CFLAGS) ".
@ -518,7 +523,7 @@ if (defined $makefiles{'borland'}) {
"\n"; "\n";
} }
print "\n"; print "\n";
print $makefile_extra{'borland'}; print $makefile_extra{'borland'}->{'end'};
print "\nclean:\n". print "\nclean:\n".
"\t-del *.obj\n". "\t-del *.obj\n".
"\t-del *.exe\n". "\t-del *.exe\n".
@ -555,6 +560,8 @@ if (defined $makefiles{'vc'}) {
" /D_WINDOWS /D_WIN32_WINDOWS=0x401 /DWINVER=0x401\n". " /D_WINDOWS /D_WIN32_WINDOWS=0x401 /DWINVER=0x401\n".
"LFLAGS = /incremental:no /fixed\n". "LFLAGS = /incremental:no /fixed\n".
"\n". "\n".
$makefile_extra{'vc'}->{'vars'} .
"\n".
"\n"; "\n";
print &splitline("all:" . join "", map { " $_.exe" } &progrealnames("G:C")); print &splitline("all:" . join "", map { " $_.exe" } &progrealnames("G:C"));
print "\n\n"; print "\n\n";
@ -593,7 +600,7 @@ if (defined $makefiles{'vc'}) {
} }
} }
print "\n"; print "\n";
print $makefile_extra{'vc'}; print $makefile_extra{'vc'}->{'end'};
print "\nclean: tidy\n". print "\nclean: tidy\n".
"\t-del *.exe\n\n". "\t-del *.exe\n\n".
"tidy:\n". "tidy:\n".
@ -911,6 +918,8 @@ if (defined $makefiles{'gtk'}) {
"mandir=\$(prefix)/man\n", "mandir=\$(prefix)/man\n",
"man1dir=\$(mandir)/man1\n", "man1dir=\$(mandir)/man1\n",
"\n". "\n".
$makefile_extra{'gtk'}->{'vars'} .
"\n".
".SUFFIXES:\n". ".SUFFIXES:\n".
"\n". "\n".
"\n"; "\n";
@ -930,7 +939,7 @@ if (defined $makefiles{'gtk'}) {
print &splitline("\t\$(CC) \$(COMPAT) \$(XFLAGS) \$(CFLAGS) -c $d->{deps}->[0]\n"); print &splitline("\t\$(CC) \$(COMPAT) \$(XFLAGS) \$(CFLAGS) -c $d->{deps}->[0]\n");
} }
print "\n"; print "\n";
print $makefile_extra{'gtk'}; print $makefile_extra{'gtk'}->{'end'};
print "\nclean:\n". print "\nclean:\n".
"\trm -f *.o". (join "", map { " $_" } &progrealnames("X:U")) . "\n"; "\trm -f *.o". (join "", map { " $_" } &progrealnames("X:U")) . "\n";
select STDOUT; close OUT; select STDOUT; close OUT;
@ -1100,6 +1109,8 @@ if (defined $makefiles{'lcc'}) {
"\n". "\n".
"\n". "\n".
"# Get include directory for resource compiler\n". "# Get include directory for resource compiler\n".
"\n".
$makefile_extra{'lcc'}->{'vars'} .
"\n"; "\n";
print &splitline("all:" . join "", map { " $_.exe" } &progrealnames("G:C")); print &splitline("all:" . join "", map { " $_.exe" } &progrealnames("G:C"));
print "\n\n"; print "\n\n";
@ -1125,7 +1136,7 @@ if (defined $makefiles{'lcc'}) {
} }
} }
print "\n"; print "\n";
print $makefile_extra{'lcc'}; print $makefile_extra{'lcc'}->{'end'};
print "\nclean:\n". print "\nclean:\n".
"\t-del *.obj\n". "\t-del *.obj\n".
"\t-del *.exe\n". "\t-del *.exe\n".
@ -1153,9 +1164,10 @@ if (defined $makefiles{'osx'}) {
(join " ", map {"-I$dirpfx$_"} @srcdirs))."\n". (join " ", map {"-I$dirpfx$_"} @srcdirs))."\n".
"MLDFLAGS = -framework Cocoa\n". "MLDFLAGS = -framework Cocoa\n".
"ULDFLAGS =\n". "ULDFLAGS =\n".
&splitline("all:" . join "", map { " $_" } &progrealnames("MX:U")) .
"\n" . "\n" .
$makefile_extra{'osx'} . $makefile_extra{'osx'}->{'vars'} .
"\n" .
&splitline("all:" . join "", map { " $_" } &progrealnames("MX:U")) .
"\n"; "\n";
foreach $p (&prognames("MX")) { foreach $p (&prognames("MX")) {
($prog, $type) = split ",", $p; ($prog, $type) = split ",", $p;
@ -1201,6 +1213,7 @@ if (defined $makefiles{'osx'}) {
print "\t\$(CC) -x objective-c \$(COMPAT) \$(FWHACK) \$(XFLAGS) \$(CFLAGS) -c \$<\n"; print "\t\$(CC) -x objective-c \$(COMPAT) \$(FWHACK) \$(XFLAGS) \$(CFLAGS) -c \$<\n";
} }
} }
print "\n".$makefile_extra{'osx'}->{'end'};
print "\nclean:\n". print "\nclean:\n".
"\trm -f *.o *.dmg". (join "", map { " $_" } &progrealnames("U")) . "\n"; "\trm -f *.o *.dmg". (join "", map { " $_" } &progrealnames("U")) . "\n";
"\trm -rf *.app\n"; "\trm -rf *.app\n";