From 77603464f5b4231df69eb20ca278062bd7aae9fb Mon Sep 17 00:00:00 2001 From: jacob Date: Sat, 26 Feb 2005 17:30:41 +0000 Subject: [PATCH] Allow mkfiles.pl to put multiple verbatim sections in a Makefile, and use one of these for the MacOSX CFLAGS tweak. git-svn-id: svn://svn.tartarus.org/sgt/putty@5404 cda61777-01e9-0310-a592-d414129be87e --- Recipe | 2 +- mkfiles.pl | 31 ++++++++++++++++++++++--------- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/Recipe b/Recipe index 0f73e34e..5d9ff78b 100644 --- a/Recipe +++ b/Recipe @@ -176,7 +176,7 @@ install: install-strip: $(MAKE) install INSTALL_PROGRAM="$(INSTALL_PROGRAM) -s" !end -!begin osx +!begin osx vars CFLAGS += -DMACOSX !end diff --git a/mkfiles.pl b/mkfiles.pl index 5483d412..b48c0a79 100755 --- a/mkfiles.pl +++ b/mkfiles.pl @@ -54,13 +54,14 @@ while () { if ($_[0] eq "!specialobj" and &mfval($_[1])) { $specialobj{$_[1]}->{$_[2]} = 1; next;} if ($_[0] eq "!begin") { if (&mfval($_[1])) { - $divert = \$makefile_extra{$_[1]}; + $sect = $_[2] ? $_[2] : "end"; + $divert = \($makefile_extra{$_[1]}->{$sect}); } else { $divert = \$dummy; } 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; } # Ignore blank lines. next if scalar @_ == 0; @@ -397,6 +398,8 @@ if (defined $makefiles{'cygwin'}) { &splitline("RCFLAGS = \$(RCINC) --define WIN32=1 --define _WIN32=1". " --define WINVER=0x0400 --define MINGW32_FIX=1")."\n". "\n". + $makefile_extra{'cygwin'}->{'vars'} . + "\n". ".SUFFIXES:\n". "\n"; print &splitline("all:" . join "", map { " $_.exe" } &progrealnames("G:C")); @@ -421,7 +424,7 @@ if (defined $makefiles{'cygwin'}) { } } print "\n"; - print $makefile_extra{'cygwin'}; + print $makefile_extra{'cygwin'}->{'end'}; print "\nclean:\n". "\trm -f *.o *.exe *.res.o *.map\n". "\n"; @@ -467,6 +470,8 @@ if (defined $makefiles{'borland'}) { "BCB = \$(MAKEDIR)\\..\n". "!endif\n". "\n". + $makefile_extra{'borland'}->{'vars'} . + "\n". ".c.obj:\n". &splitline("\tbcc32 -w-aus -w-ccc -w-par -w-pia \$(COMPAT)". " \$(XFLAGS) \$(CFLAGS) ". @@ -518,7 +523,7 @@ if (defined $makefiles{'borland'}) { "\n"; } print "\n"; - print $makefile_extra{'borland'}; + print $makefile_extra{'borland'}->{'end'}; print "\nclean:\n". "\t-del *.obj\n". "\t-del *.exe\n". @@ -555,6 +560,8 @@ if (defined $makefiles{'vc'}) { " /D_WINDOWS /D_WIN32_WINDOWS=0x401 /DWINVER=0x401\n". "LFLAGS = /incremental:no /fixed\n". "\n". + $makefile_extra{'vc'}->{'vars'} . + "\n". "\n"; print &splitline("all:" . join "", map { " $_.exe" } &progrealnames("G:C")); print "\n\n"; @@ -593,7 +600,7 @@ if (defined $makefiles{'vc'}) { } } print "\n"; - print $makefile_extra{'vc'}; + print $makefile_extra{'vc'}->{'end'}; print "\nclean: tidy\n". "\t-del *.exe\n\n". "tidy:\n". @@ -911,6 +918,8 @@ if (defined $makefiles{'gtk'}) { "mandir=\$(prefix)/man\n", "man1dir=\$(mandir)/man1\n", "\n". + $makefile_extra{'gtk'}->{'vars'} . + "\n". ".SUFFIXES:\n". "\n". "\n"; @@ -930,7 +939,7 @@ if (defined $makefiles{'gtk'}) { print &splitline("\t\$(CC) \$(COMPAT) \$(XFLAGS) \$(CFLAGS) -c $d->{deps}->[0]\n"); } print "\n"; - print $makefile_extra{'gtk'}; + print $makefile_extra{'gtk'}->{'end'}; print "\nclean:\n". "\trm -f *.o". (join "", map { " $_" } &progrealnames("X:U")) . "\n"; select STDOUT; close OUT; @@ -1100,6 +1109,8 @@ if (defined $makefiles{'lcc'}) { "\n". "\n". "# Get include directory for resource compiler\n". + "\n". + $makefile_extra{'lcc'}->{'vars'} . "\n"; print &splitline("all:" . join "", map { " $_.exe" } &progrealnames("G:C")); print "\n\n"; @@ -1125,7 +1136,7 @@ if (defined $makefiles{'lcc'}) { } } print "\n"; - print $makefile_extra{'lcc'}; + print $makefile_extra{'lcc'}->{'end'}; print "\nclean:\n". "\t-del *.obj\n". "\t-del *.exe\n". @@ -1153,9 +1164,10 @@ if (defined $makefiles{'osx'}) { (join " ", map {"-I$dirpfx$_"} @srcdirs))."\n". "MLDFLAGS = -framework Cocoa\n". "ULDFLAGS =\n". - &splitline("all:" . join "", map { " $_" } &progrealnames("MX:U")) . "\n" . - $makefile_extra{'osx'} . + $makefile_extra{'osx'}->{'vars'} . + "\n" . + &splitline("all:" . join "", map { " $_" } &progrealnames("MX:U")) . "\n"; foreach $p (&prognames("MX")) { ($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 "\n".$makefile_extra{'osx'}->{'end'}; print "\nclean:\n". "\trm -f *.o *.dmg". (join "", map { " $_" } &progrealnames("U")) . "\n"; "\trm -rf *.app\n"; -- 2.11.0