# -*- makefile-gmake -*-

prolog
mammal(mouse).
mammal(human).
sp(zebrafish).
sp(X) :- mammal(X).

pair(X,Y) :- sp(X),sp(Y),X@<Y.

make_pair(A) :-
  pair(X,Y),
  format(atom(A),"~w-~w.pair",[X,Y]).
endprolog

all: $(bagof A,make_pair(A))

$X.single:
	echo Single: $X > $@

$X-$Y.pair: $X.single $Y.single { pair(X,Y) }
	cat $X.single $Y.single > $@
	echo Files: $X.single $Y.single >> $@