SHELL=bash
+BOOKS+= red
+BOOKS+= green
+BOOKS+= purple
+BOOKS+= blue
+BOOKS+= lotus
+BOOKS+= yellow
+BOOKS+= black-pair/black-more
+
all: $(PUBLISH)
# Don't print the ps, printers (eg ours!) don't always have the fonts
make_pnm = pnmdepth 255 | pnmnoraw $o
pumpkin-books.ps: pumpkin-books.ps.pl bag.pgm pot.pgm droplet.ppm
- ./$< $o
+ ./$< $(BOOKS) $o
pumpkin-books.pdf: pumpkin-books.ps
gs -q -dNOPAUSE -dBATCH -dPDFSETTINGS=/prepress \
$o;
}
-sub green_book () {
+sub book_green () {
my $o = general_book($green, [qw(5 9 15)]);
$o .= <<END;
$o;
}
-sub red_book () {
+sub book_red () {
my $o = general_book($red, [qw(4 9 16)]);
$o .= <<END;
$o;
}
-sub blue_book () {
+sub book_blue () {
my $o = general_book($blue, [qw(4 10 18)]);
$o .= <<END;
$o;
}
-sub lotus_book () {
+sub book_lotus () {
my $o = general_book($lotus, [8, 0]);
$o .= <<END;
$o;
}
-sub purple_book () {
+sub book_purple () {
my $o = general_book($purple, [10, 1]);
my $input = <<END;
$o;
}
-sub yellow_book () {
+sub book_yellow () {
my $o = general_book($yellow, [qw(7 12 19)]);
$o .= <<END;
END
}
-sub black_book_pair () {
+sub book_black_pair () {
my $o = general_book($moth, [10, 1]);
$o .= num_players(2);
$o;
}
-sub black_book_more () {
+sub book_black_more () {
my $o = general_book($moth, [10, 1]);
$o .= num_players(3,'+');
print "gsave\n" or die $!;
-our @books = qw(
- red_book
- green_book
- purple_book
- blue_book
- lotus_book
- yellow_book
- black_book_pair/black_book_more
- );
-
our @tiles;
-foreach my $spec (@books) {
+foreach my $spec (@ARGV) {
my @datas;
- foreach my $book (split m{/}, $spec) {
- my $data = ${*::}{"$book"}();;
- my $stem = $book;
- $stem =~ s/_book//;
- $stem =~ y/_/-/;
+ foreach my $stem (split m{/}, $spec) {
+ my $func = $stem;
+ $func =~ y/-/_/;
+ $func = ${*::}{"book_$func"} // die "$func ?";
+ my $data = $func->();
open F, ">book-$stem.ps" or die $!;
print F $ps_framing, $data, "\nshowpage\n" or die $!;
close F or die $!;