mirror of https://github.com/c3d2/slidenado/
Makefile: check if ruby is installed
* clean didnt work for me, TARGET with "ALL" did not list files for `rm` - fixes #1 for me * added error reporting in case interpreter or script is missing * enabled adding new scripts for other interpreters later, e.g. python implementation of generator; so users do not need to install ruby
This commit is contained in:
parent
169e8795f8
commit
8b5c8dabf0
15
Makefile
15
Makefile
|
@ -1,15 +1,20 @@
|
||||||
TARGETS=$(patsubst dates/%.yaml, dates/%/ALL, $(wildcard dates/*.yaml))
|
INTERPRETER := ruby
|
||||||
ALL: ${TARGETS}
|
GENERATOR='./generate.rb'
|
||||||
|
|
||||||
|
MAKE_TARGETS=$(patsubst dates/%.yaml, dates/%/ALL, $(wildcard dates/*.yaml))
|
||||||
|
CLEAN_TARGETS=$(patsubst dates/%.yaml, dates/%/*, $(wildcard dates/*.yaml))
|
||||||
|
ALL: ${MAKE_TARGETS}
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf ${TARGETS}
|
rm -rf ${CLEAN_TARGETS}
|
||||||
|
|
||||||
# Keep Makefiles
|
# Keep Makefiles
|
||||||
.SECONDARY: $(patsubst dates/%/ALL, dates/%/Makefile, $(TARGETS))
|
.SECONDARY: $(patsubst dates/%/ALL, dates/%/Makefile, $(MAKE_TARGETS))
|
||||||
|
|
||||||
dates/%/Makefile: dates/%.yaml $(wildcard decks/*.yaml)
|
dates/%/Makefile: dates/%.yaml $(wildcard decks/*.yaml)
|
||||||
mkdir -p $(shell dirname $@)
|
mkdir -p $(shell dirname $@)
|
||||||
./generate.rb $< $(shell dirname $@)
|
command -v $(INTERPRETER) || (printf "Could not find '%s' – Please install or add it to PATH!\n" $(INTERPRETER); exit 1)
|
||||||
|
$(INTERPRETER) $(GENERATOR) $< $(shell dirname $@)
|
||||||
|
|
||||||
dates/%/ALL: dates/%/Makefile
|
dates/%/ALL: dates/%/Makefile
|
||||||
$(MAKE) -C $(shell dirname $@)
|
$(MAKE) -C $(shell dirname $@)
|
||||||
|
|
Loading…
Reference in New Issue