joyent-portal/Makefile

30 lines
785 B
Makefile
Raw Normal View History

2016-10-14 13:57:26 +03:00
.PHONY: check
check:
@yarn install --prefer-offline
2016-10-20 16:55:05 +03:00
@./bin/setup
.PHONY: setup
setup: .git/hooks/pre-commit
@cp bin/pre-commit.hook .git/hooks/pre-commit
2016-10-24 17:52:46 +03:00
SUBDIRS := $(shell find -maxdepth 2 -mindepth 2 -name 'Makefile' -printf '%h/.\n')
TARGETS := install clean test lint # whatever else, but must not contain '/'
2016-10-24 17:52:46 +03:00
# foo/.all bar/.all foo/.clean bar/.clean
SUBDIRS_TARGETS := \
$(foreach t,$(TARGETS),$(addsuffix $t,$(SUBDIRS)))
.PHONY: $(TARGETS) $(SUBDIRS_TARGETS)
# static pattern rule, expands into:
# all clean: %: foo/.% bar/.%
$(TARGETS): %: $(addsuffix %,$(SUBDIRS))
@echo 'Done "$*" target'
# here, for foo/.all:
# $(@D) is foo
# $(@F) is .all, with leading period
# $(@F:.%=%) is just all
$(SUBDIRS_TARGETS):
$(MAKE) --no-print-directory -C $(@D) $(@F:.%=%)