#!/usr/bin/perl
# -*- mode:perl -*-

use strict;
use warnings;

my %VARS = (
    DEBIAN_PACKAGE_NAME => q{ulam},
    DEB_MFM_BINDIR => q{//usr/bin},
    DEB_MFM_RESDIR => q{//usr/share/mfm/res},
    MFM_ROOT_DIR => q{/home/abuild/rpmbuild/BUILD/ulam-1737923634.d771196-build/ulam-1737923634.d771196/mfm-1.0.0},
    MFM_VERSION_NUMBER => q{5.1.0},
    MFM_TREE_VERSION => q{unknown-rev},
    MFM_CFLAGS => q{-Wall -pedantic -Werror -Wundef -D SHARED_DIR="/home/abuild/rpmbuild/BUILD/ulam-1737923634.d771196-build/ulam-1737923634.d771196/mfm-1.0.0" -pthread -I ../../../src/platform-linux/include  -I include},
    MFM_CPPFLAGS => q{-Wno-error=template-id-cdtor -Wno-error=overloaded-virtual= -ansi -pedantic -Wall -Werror -D SHARED_DIR="/home/abuild/rpmbuild/BUILD/ulam-1737923634.d771196-build/ulam-1737923634.d771196/mfm-1.0.0" -pthread -Wno-parentheses -I ../../../src/platform-linux/include  -I include},
    MFM_LDFLAGS => q{-Wl,--fatal-warnings -pthread -rdynamic}
    );

my @alts = qw(sh perl make echo);

sub UDie {
    print STDERR shift."\n";
    print STDERR "Usage: $0 [help|[".join("|",@alts)."] VARNAME..]\n";
    exit 1;
}

my $regex = '^('.join('|',@alts).')$';

UDie("At least one argument required") unless $#ARGV >= 0;

my $cmd = shift @ARGV;

UDie("") if lc($cmd) eq 'help';

if (lc($cmd) =~ /$regex/) {
    my $fmt = $1;
    my @allkeys = sort keys %VARS;
    my @requestedkeys = @ARGV;
    @requestedkeys = @allkeys unless @requestedkeys;
    for my $key (@requestedkeys) {
        print "$key=$VARS{$key}\n" if $fmt eq "sh";
        print "use constant $key => q\{$VARS{$key}\};\n" if $fmt eq "perl";
        print "$key:=$VARS{$key}\n" if $fmt eq "make";
        print "$VARS{$key}\n" if $fmt eq "echo";
    }
    exit 0;
}

UDie("Unrecognized '$cmd'");
