###########################################################################
#
# FairCom Corporation makefile for c-treeEDGE nodejs.rest.crud API Tutorials
#
###########################################################################

EXECUTABLES = node npm
NODEJS := $(foreach exec,$(EXECUTABLES),\
        $(if $(shell which $(exec)),some string,$(error "No $(exec) in PATH consider install nodejs")))

NODEVER := $(shell node --version | sed 's/\..*$$//' | sed 's/v//')

ALL:
	@echo The nodejs.rest.crud tutorials requires the following to build and run:
	@echo \* NodeJS Version 10 or newer
	@echo Detected NodeJS Version $(NODEVER)
	@echo Make sure your system cover the requirements then execute:
	@echo make build
	@echo to build the tutorial

build:\
	../../node_modules/\
	package.json\
	node_modules/\
	createTable.js\
	createRecord.js\
	createIndex.js\
	query.js\
	deleteTable.js\
	msg

../../node_modules/:
	npm install ../..
package.json:
	npm init -y
node_modules/: 
	npm install ../..
createTable.js:
	cp ../createTable.js .
createRecord.js:
	cp ../createRecord.js .
createIndex.js:
	cp ../createIndex.js .
query.js:
	cp ../query.js .
deleteTable.js:
	cp ../deleteTable.js .
msg:
	@echo "Now execute make run to run the tutorial"

run:
	node createTable.js
	node createRecord.js
	node createIndex.js
	node query.js
	node deleteTable.js
clean:
	rm -f package.json
	rm -f package-lock.json
	rm -rf node_modules
	rm -rf ../../node_modules
	rm -f createTable.js
	rm -f createRecord.js
	rm -f createIndex.js
	rm -f query.js
	rm -f deleteTable.js
