X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?p=subdirmk.git;a=blobdiff_plain;f=generate;h=c608e8c6947366711f0c79f345cdbadbae01c0a4;hp=0f9dd2d75ba289af83b4072812c13d92c2185b2f;hb=c5f8817d9d03784e0da59d7957ec49d3dbd8ea48;hpb=172acdebcae01e79278788880ee148f16395dc47 diff --git a/generate b/generate index 0f9dd2d..c608e8c 100755 --- a/generate +++ b/generate @@ -69,17 +69,17 @@ sub close_any_output_file() { $writing_output = undef; } -sub o { - if (defined $buffering_output) { - $buffering_output .= $_ foreach @_; - return; - } +sub oraw { die unless defined $writing_output; print O @_ or die "error writing $writing_output.tmp: $!\n"; } sub od { # maybe $-doubled - o @_; + if (defined $buffering_output) { + $buffering_output .= $_ foreach @_; + return; + } + oraw @_; } sub start_output_file ($) { @@ -88,7 +88,7 @@ sub start_output_file ($) { die "$writing_output ?" if $output_files{$writing_output}++; my $tmp = "$writing_output.tmp"; open O, ">", $tmp or die "create $tmp: $!\n"; - o "# autogenerated - do not edit\n"; + oraw "# autogenerated - do not edit\n"; } sub install_output_files () { @@ -106,7 +106,7 @@ sub write_makefile ($$) { my $suppress_templates= '$(if $(filter-out clean real-clean, $(subdirmk_targets)),,'. ' MAKEFILE_TEMPLATES=)'; - o <