123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285 |
- BASH ?= bash
- BASHSTYLE ?= tools/bashstyle
- CP ?= cp
- CSCOPE ?= cscope
- CSCOPE_DIRS ?= .
- JSL ?= jsl
- JSSTYLE ?= jsstyle
- MKDIR ?= mkdir -p
- MV ?= mv
- RESTDOWN_FLAGS ?=
- RMTREE ?= rm -rf
- JSL_FLAGS ?= --nologo --nosummary
- ifeq ($(shell uname -s),SunOS)
- TAR ?= gtar
- else
- TAR ?= tar
- endif
- BUILD = build
- DISTCLEAN_FILES += $(BUILD)
- DOC_BUILD = $(BUILD)/docs/public
- ifneq ($(origin JSL_CONF_NODE), undefined)
- JSL_FLAGS_NODE += --conf=$(JSL_CONF_NODE)
- endif
- ifneq ($(origin JSL_CONF_WEB), undefined)
- JSL_FLAGS_WEB += --conf=$(JSL_CONF_WEB)
- endif
- .SECONDARY: $($(wildcard deps/*):%=%/.git)
- deps/%/.git:
- git submodule update --init deps/$*
- .PHONY: check-bash
- check-bash: $(BASH_FILES:%=%.bashchk) $(BASH_FILES:%=%.bashstyle)
- %.bashchk: %
- $(BASH) -n $^
- %.bashstyle: %
- $(BASHSTYLE) $^
- .PHONY: check-jsl check-jsl-node check-jsl-web
- check-jsl: check-jsl-node check-jsl-web
- check-jsl-node: $(JSL_FILES_NODE:%=%.jslnodechk)
- check-jsl-web: $(JSL_FILES_WEB:%=%.jslwebchk)
- %.jslnodechk: % $(JSL_EXEC)
- $(JSL) $(JSL_FLAGS) $(JSL_FLAGS_NODE) $<
- %.jslwebchk: % $(JSL_EXEC)
- $(JSL) $(JSL_FLAGS) $(JSL_FLAGS_WEB) $<
- .PHONY: check-jsstyle
- check-jsstyle: $(JSSTYLE_FILES:%=%.jsstylechk)
- %.jsstylechk: % $(JSSTYLE_EXEC)
- $(JSSTYLE) $(JSSTYLE_FLAGS) $<
- .PHONY: check
- check: check-jsl check-jsstyle check-bash
- @echo check ok
- .PHONY: clean
- clean::
- -$(RMTREE) $(CLEAN_FILES)
- .PHONY: distclean
- distclean:: clean
- -$(RMTREE) $(DISTCLEAN_FILES)
- CSCOPE_FILES = cscope.in.out cscope.out cscope.po.out
- CLEAN_FILES += $(CSCOPE_FILES)
- .PHONY: xref
- xref: cscope.files
- $(CSCOPE) -bqR
- .PHONY: cscope.files
- cscope.files:
- find $(CSCOPE_DIRS) -name '*.c' -o -name '*.h' -o -name '*.cc' \
- -o -name '*.js' -o -name '*.s' -o -name '*.cpp' > $@
- DOC_MEDIA_DIRS := $(shell find docs/media -type d 2>/dev/null | grep -v "^docs/media$$")
- DOC_MEDIA_DIRS := $(DOC_MEDIA_DIRS:docs/media/%=%)
- DOC_MEDIA_DIRS_BUILD := $(DOC_MEDIA_DIRS:%=$(DOC_BUILD)/media/%)
- DOC_MEDIA_FILES := $(shell find docs/media -type f 2>/dev/null)
- DOC_MEDIA_FILES := $(DOC_MEDIA_FILES:docs/media/%=%)
- DOC_MEDIA_FILES_BUILD := $(DOC_MEDIA_FILES:%=$(DOC_BUILD)/media/%)
- .PHONY: docs
- docs: \
- $(DOC_FILES:%.restdown=$(DOC_BUILD)/%.html) \
- $(DOC_FILES:%.restdown=$(DOC_BUILD)/%.json) \
- $(DOC_MEDIA_FILES_BUILD)
- .PRECIOUS: \
- $(DOC_FILES:%.restdown=docs/%.html) \
- $(DOC_FILES:%.restdown=docs/%json)
- CLEAN_FILES += \
- $(DOC_BUILD) \
- $(DOC_FILES:%.restdown=docs/%.html) \
- $(DOC_FILES:%.restdown=docs/%.json)
- $(DOC_MEDIA_FILES_BUILD): | $(DOC_MEDIA_DIRS_BUILD)
- $(DOC_BUILD)/%: docs/% | $(DOC_BUILD)
- $(CP) $< $@
- docs/%.json docs/%.html: docs/%.restdown | $(DOC_BUILD) $(RESTDOWN_EXEC)
- $(RESTDOWN) $(RESTDOWN_FLAGS) -m $(DOC_BUILD) $<
- $(DOC_BUILD):
- $(MKDIR) $@
- $(DOC_MEDIA_DIRS_BUILD):
- $(MKDIR) $@
- .PHONY: test
- test:
- .PHONY: prepush
- prepush: check test
|