ARCH:=$(shell ./config.guess) BASIC_MODES=debug release BASIC_FLAVORS=mule nomule EXOTIC_FLAVORS=pdump dumper FLAVORS=$(foreach mode, $(BASIC_MODES), $(addprefix $(mode)/, $(foreach basic, $(BASIC_FLAVORS), $(addprefix $(basic)/, $(EXOTIC_FLAVORS))))) DIRS=$(addprefix $(ARCH)/,$(FLAVORS)) CONFIGS=$(DIRS:=/config.status) BINARIES=$(DIRS:=/bogus) common_args=--site-prefixes=/usr/local:/opt/gnome --with-dragndrop debug_args=--debug --error-checking=all release_args=--error-checking=none mule_args=--with-mule nomule_args=--with-mule=no pdump_args=--pdump .PHONY: $(BINARIES) all: configs $(BINARIES) configs: $(CONFIGS) $(CONFIGS): configure test -d $(@D) || mkdir -p $(@D) cd $(@D) && ../../../../configure $(common_args) $(foreach flag, $(addsuffix _args, $(subst /, , $(@D))), $($(flag))) $(BINARIES): cd $(@D) && $(MAKE)