# Makefile for sub directories AMBER = st SERVER = server REPL = repl EXAMPLES = examples # REST is all except AMBER REST = $(SERVER) $(EXAMPLES) $(REPL) # And these are all DIRS = $(AMBER) $(REST) # The sets of directories to do various things in BUILDDIRS = $(DIRS:%=build-%) EXAMPLESDIRS = $(EXAMPLES:%=build-%) INSTALLDIRS = $(AMBER:%=install-%) CLEANDIRS = $(REST:%=clean-%) CLEANALLDIRS = $(DIRS:%=clean-%) all: $(BUILDDIRS) $(DIRS): $(BUILDDIRS) $(BUILDDIRS): $(MAKE) -C $(@:build-%=%) amber: build-st # Examples and server need Amber first build-server: build-st build-examples: build-st examples: $(EXAMPLESDIRS) $(EXAMPLESDIRS): $(MAKE) -C $(@:build-%=%) install: $(INSTALLDIRS) $(INSTALLDIRS): $(MAKE) -C $(@:install-%=%) install clean: $(CLEANDIRS) $(CLEANDIRS): $(MAKE) -C $(@:clean-%=%) clean cleanall: $(CLEANALLDIRS) $(CLEANALLDIRS): $(MAKE) -C $(@:clean-%=%) clean .PHONY: subdirs $(DIRS) .PHONY: subdirs $(BUILDDIRS) .PHONY: subdirs $(INSTALLDIRS) .PHONY: subdirs $(CLEANDIRS) .PHONY: subdirs $(CLEANALLDIRS) .PHONY: all install clean