54 lines
1.0 KiB
Makefile
54 lines
1.0 KiB
Makefile
# 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
|