Blame | Last modification | View Log | Download
## Supported environments:# * GNU/Linux.## Allowed but not tested environments:# * Windows NT (Cygwin/MinGW).## Dependencies (for this Makefile):# * GNU make;# * GNU core utilities.## Default valuessrcdir=srcdestdir=buildDEBUG?=0# All targetsTARGETS=native mingw32 mingw64.PHONY: empty $(foreach t,$(TARGETS),$(t) $(t)-clean) all clean distclean.DEFAULT_GOAL = emptyempty:@echo 'Usage:'@echo ' make [ [ DEBUG=<1|0> ] [ <TARGET> | <TARGET>-clean | all | clean ] |'@echo ' distclean ]'@echo 'where:'@echo ' <TARGET> is one of: $(TARGETS)'############## TARGET ##############$(TARGETS):$(MAKE) -w -C $(srcdir) destdir=$(shell realpath --relative-to $(srcdir) $(destdir)) TARGET=$@ DEBUG=$(DEBUG) all#################### TARGET-clean ####################$(foreach t,$(TARGETS),$(t)-clean):$(MAKE) -w -C $(srcdir) destdir=$(shell realpath --relative-to $(srcdir) $(destdir)) TARGET=$(patsubst %-clean,%,$@) DEBUG=$(DEBUG) clean########### all ###########all:$(MAKE) -w -C $(srcdir) destdir=$(shell realpath --relative-to $(srcdir) $(destdir)) DEBUG=$(DEBUG) $@############# clean #############clean:$(MAKE) -w -C $(srcdir) destdir=$(shell realpath --relative-to $(srcdir) $(destdir)) DEBUG=$(DEBUG) $@################# distclean #################distclean:test -d $(destdir) && $(RM) -r $(destdir)/* || true