# Before running "make", check the instructions in the readme # binaries pp=luajit tools/etluapp/etluapp.lua # preprocessor pack=luajit tools/shpack/shpack.lua # bash script packer startup_code=$(wildcard src/startup/*.sh.etlua) # startup files that need to be run through the preprocessor startup_built=$(startup_code:src/startup/%.etlua=build/startup/%) # the files after preprocessing srcs=$(wildcard src/*.etlua) # other files to run through the preprocessor data_files=$(wildcard src/data/*) data_templated=$(wildcard src/data/*.etlua) data_built=$(data_templated:src/data/%.etlua=build/data/%) data_copied=$(data_files:src/data/%=build/data/%) data_immediate=$(filter-out $(data_built),$(data_copied)) data_zipped=$(data_immediate) $(data_built) built=$(srcs:src/%.etlua=build/%) # other files after preprocessing ready=$(built) $(startup_built) $(data_built) build/data.zip all: $(ready) echo "Ready: $(startup_built)" cd build && terraform init && terraform apply $(built): build/% : src/%.etlua config.lua secrets.lua cat $< | $(pp) > $@ $(startup_built) : build/startup/% : src/startup/%.etlua config.lua secrets.lua cat $< | $(pp) > $@ $(data_immediate) : build/data/% : src/data/% config.lua cp $< $@ $(data_built) : build/data/% : src/data/%.etlua config.lua cat $< | $(pp) > $@ build/data.zip : $(data_zipped) zip -r build/data build/data build/init.tf : config.lua clean: rm $(startup_built) $(built)