michael@0: # -*- makefile -*- michael@0: # michael@0: # This Source Code Form is subject to the terms of the Mozilla Public michael@0: # License, v. 2.0. If a copy of the MPL was not distributed with this file, michael@0: # You can obtain one at http://mozilla.org/MPL/2.0/. michael@0: michael@0: STANDALONE_MAKEFILE := 1 michael@0: USE_AUTOTARGETS_MK = 1 michael@0: MAKEUTILS_UNIT_TEST = 1 michael@0: include $(topsrcdir)/config/makefiles/makeutils.mk michael@0: michael@0: dir-ts = .deps/test michael@0: check-arglist = $(dir-ts)/arglist.ts michael@0: check-autotargets = $(dir-ts)/autotargets_mk.ts michael@0: check-XinY = $(dir-ts)/check_XinY_mk.ts michael@0: check-tests =\ michael@0: $(check-arglist) \ michael@0: $(check-autotargets) \ michael@0: $(check-XinY) \ michael@0: $(NULL) michael@0: michael@0: michael@0: ##------------------_## michael@0: ##---] TARGETS [---## michael@0: ##------------------_## michael@0: all:: michael@0: michael@0: clean: michael@0: $(RM) $(check-tests) michael@0: michael@0: ########################################################################### michael@0: ## Logic processed at compile time so be selective about when to test michael@0: ## $(MAKE) check VERBOSE=1 michael@0: ifneq ($(NULL),$(findstring check,$(MAKECMDGOALS))) # michael@0: michael@0: check-preqs =\ michael@0: $(call mkdir_deps,$(dir-ts)) \ michael@0: $(check-tests) \ michael@0: $(NULL) michael@0: michael@0: check:: $(check-preqs) michael@0: @true michael@0: michael@0: michael@0: ifdef VERBOSE #{ gmake check VERBOSE=1 michael@0: $(info ===========================================================================) michael@0: $(info Running test: $(MAKECMDGOALS): pwd=$(CURDIR)) michael@0: $(info ===========================================================================) michael@0: endif #} michael@0: michael@0: ifndef requiredfunction michael@0: $(error requiredfunction is not defined) michael@0: endif michael@0: michael@0: michael@0: ################## michael@0: check-XinY-preqs=\ michael@0: $(call mkdir_deps,$(dir-ts)) \ michael@0: $(topsrcdir)/config/makefiles/makeutils.mk \ michael@0: $(srcdir)/check_XinY.mk \ michael@0: $(eval include $(srcdir)/check_XinY.mk) \ michael@0: $(NULL) michael@0: michael@0: $(check-XinY): $(check-XinY-preqs) michael@0: @$(TOUCH) $@ michael@0: # michael@0: michael@0: michael@0: ########################################################################### michael@0: ## check-arglist.mk always invoked as a compile time test michael@0: ## maintain real file dependencies for use later on. michael@0: check-arglist-preqs=\ michael@0: $(call mkdir_deps,$(dir-ts)) \ michael@0: $(topsrcdir)/config/makefiles/makeutils.mk \ michael@0: $(srcdir)/check-arglist.mk \ michael@0: $(eval include $(srcdir)/check-arglist.mk) \ michael@0: $(NULL) michael@0: michael@0: $(check-arglist): $(check-arglist-preqs) michael@0: @$(TOUCH) $@ michael@0: # michael@0: michael@0: michael@0: ########################################################################### michael@0: # michael@0: check-autotargets-preqs=\ michael@0: $(call mkdir_deps,$(dir-ts)) \ michael@0: $(topsrcdir)/config/makefiles/makeutils.mk \ michael@0: $(topsrcdir)/config/makefiles/autotargets.mk \ michael@0: $(srcdir)/check-autotargets.mk \ michael@0: $(eval include $(srcdir)/check-autotargets.mk) \ michael@0: $(NULL) michael@0: michael@0: $(check-autotargets): $(check-autotargets-preqs) michael@0: @$(TOUCH) $@ michael@0: # michael@0: michael@0: endif #} findstring MAKECMDGOAL