Używając GNU-make, powiedz, że mam dwie listy w moim pliku Makefile, i chcę je połączyć, aby uzyskać ich Cartesian product jako kolejną listę, dzięki czemu mogę użyj go jako listy celów.Jak uzyskać kartezjański produkt (rozszerzenie kombinatoryczne) list nazw w makefile
Jako przykład z innego języka, który znam lepiej, R has a function expand.grid(), który może to zrobić.
I rzeczywiście zorientowali się sposób to zrobić przy użyciu Makefile:
.PHONY: all
prefix := 1 2
base := A B
add_prefix = $(addsuffix $(base), $(prefix))
Obj = $(foreach base, $(base), $(add_prefix))
all:
@echo $(Obj)
Ale to dość hacky i nie korzystać z funkcji addsuffix w intuicyjny sposób. Czy istnieje lepszy sposób na zrobienie tego?