X-Git-Url: https://git.cworth.org/git?p=lmno.games;a=blobdiff_plain;f=Makefile;h=cf1e1d7008e05a1d7ee18e81103c11b4e3a7b722;hp=74233b0ad221be2a3855440d1b5da92a4dac32f1;hb=4031509cc4bc642d2b673d1d17c11a0e4e504781;hpb=7981f047e7ad9da24f76e6aded3c516c8f2dc563 diff --git a/Makefile b/Makefile index 74233b0..cf1e1d7 100644 --- a/Makefile +++ b/Makefile @@ -29,44 +29,61 @@ all: $(JS_TARGETS) $(REACT_DEPS) # or otherwise start in a clean source tree (such as a # after a fresh "git clone" or use "git clean -f -x -d). # +CP=cp +BABEL=babeljs ifeq ($(LMNO_BUILD),production) react.js: deps/react.production.min.js - cp $^ $@ + $(call quiet,CP) $^ $@ react-dom.js: deps/react-dom.production.min.js - cp $^ $@ + $(call quiet,CP) $^ $@ +export BABEL_ENV=production %.js: %.jsx - BABEL_ENV=production babeljs $^ --out-file $@ + $(call quiet,BABEL) $^ --out-file $@ else react.js: deps/react.development.js - cp $^ $@ + $(call quiet,CP) $^ $@ react-dom.js: deps/react-dom.development.js - cp $^ $@ + $(call quiet,CP) $^ $@ +export BABEL_ENV=development %.js: %.jsx - BABEL_ENV=development babeljs $^ --out-file $@ + $(call quiet,BABEL) $^ --out-file $@ endif -checksums: $(REACT_DOWNLOADS) - sha512sum --strict -c checksums.sha512 - -deps/react.development.js: - wget -nv -nc -P deps https://unpkg.com/react@16/umd/react.development.js - -deps/react-dom.development.js: - wget -nv -nc -P deps https://unpkg.com/react-dom@16/umd/react-dom.development.js +# The user has not set any verbosity, default to quiet mode and inform the +# user how to enable verbose compiles. +ifeq ($(V),) +quiet_DOC := "Use \"$(MAKE) V=1\" to see the verbose compile lines.\n" +quiet = @printf $(quiet_DOC)$(eval quiet_DOC:=)"$(1) $(or $(2),$@)\n"; $($(word 1, $(1))) +WGET_VERBOSE_FLAGS=--quiet +endif +# The user has explicitly enabled quiet compilation. +ifeq ($(V),0) +quiet = @printf "$(1) $(or $(2),$@)\n"; $($(word 1, $(1))) +WGET_VERBOSE_FLAGS=--quiet +endif +# Otherwise, print the full command line. +quiet ?= $($(word 1, $(1))) +WGET_VERBOSE_FLAGS ?= --no-verbose -deps/react.production.min.js: - wget -nv -nc -P deps https://unpkg.com/react@16/umd/react.production.min.js +SHA512=sha512sum --strict -c +.PHONY: deps +deps: $(REACT_DOWNLOADS) + $(call quiet,SHA512) deps/*.sha512 -deps/react-dom.production.min.js: - wget -nv -nc -P deps https://unpkg.com/react-dom@16/umd/react-dom.production.min.js +DOWNLOAD=wget $(WGET_VERBOSE_FLAGS) -nc -P deps +deps/%.js: + $(call quiet,DOWNLOAD) https://unpkg.com/react@16/umd/$@ + $(call quiet,SHA512) $(patsubst %,%.sha512,$@) deploy: rm -rf .deploy-source git clone . .deploy-source + cp deps/*.js .deploy-source/deps + make -C .deploy-source deps make -C .deploy-source LMNO_BUILD=production rm -rf .deploy-source/.git (cd .deploy-source; rsync -avz \ @@ -80,4 +97,4 @@ deploy: clean: rm -f $(JS_TARGETS) rm -f $(REACT_DEPS) - rm -f $(REACT_DOWNLOADS) + rm -f deps/*.js