From 66ddf178b4eaac6d65f8ba56821f69b598556cec Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Mon, 7 Mar 2016 14:38:54 +0100 Subject: Unified - Adapt the Unix and VMS templates to support GENERATE Reviewed-by: Rich Salz --- Configurations/unix-Makefile.tmpl | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'Configurations/unix-Makefile.tmpl') diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index 50dafd284a..226f5bdfa8 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -816,6 +816,43 @@ configdata.pm: {- $config{build_file_template} -} $(SRCDIR)/Configurations/commo return map { shlib_simple($_) } @_; } + sub generatesrc { + my %args = @_; + my $generator = join(" ", @{$args{generator}}); + + if ($args{src} !~ /\.[sS]$/) { + return <<"EOF"; +$args{src}: $args{generator}->[0] + \$(PERL) $generator > \$@ +EOF + } else { + if ($args{generator}->[0] =~ /\.[sS]$/) { + return <<"EOF"; +$args{src}: $args{generator}->[0] + \$(CC) \$(CFLAGS) -E \$< > \$@ +EOF + } elsif ($args{generator}->[0] =~ /\.pl$/) { + return <<"EOF"; +$args{src}: $args{generator}->[0] + ( trap "rm -f \$@.S" INT; \\ + CC="\$(CC)" \$(PERL) $generator \$@.S; \\ + if grep '^#' \$@.S >/dev/null; then \\ + \$(CC) -E -P \$@.S > \$@ && rm -f \$@.S; \\ + else \\ + mv \$@.S \$@; \\ + fi ) +EOF + } elsif ($args{generator}->[0] =~ /\.m4$/) { + return <<"EOF"; +$args{src}: $args{generator}->[0] + m4 -B 8192 $generator > \$@ +EOF + } else { + die "Generator type for $args{src} unknown: $args{generator}\n"; + } + } + } + sub src2obj { my %args = @_; my $obj = $args{obj}; -- cgit v1.2.3