komando_kreidosierujon := mkdir --parents
komando_kopii := cp --recursive --update --verbose
komando_tar := tar --verbose
komando_forigi := rm --recursive --force
komando_avizi := echo
komando_tsc := tsc --allowUnreachableCode --target ES5

var_fontoj := 
var_fontoj := ${var_fontoj} fontoj/bazo/funkcioj.ts
var_fontoj := ${var_fontoj} fontoj/bazo/tipoj.ts
var_fontoj := ${var_fontoj} fontoj/bazo/vokado.ts
var_fontoj := ${var_fontoj} fontoj/bazo/cxeno.ts
var_fontoj := ${var_fontoj} fontoj/bazo/vico.ts
var_fontoj := ${var_fontoj} fontoj/eventoj/evento.ts
var_fontoj := ${var_fontoj} fontoj/eventoj/eventoj_enigaj/evento_eniga.ts
var_fontoj := ${var_fontoj} fontoj/eventoj/eventoj_enigaj/evento_eniga_mesagxo.ts
var_fontoj := ${var_fontoj} fontoj/eventoj/eventoj_eligaj/evento_eliga.ts
var_fontoj := ${var_fontoj} fontoj/eventoj/eventoj_eligaj/evento_eliga_mesagxo.ts
var_fontoj := ${var_fontoj} fontoj/kromajxoj/kromajxo.ts
var_fontoj := ${var_fontoj} fontoj/kromajxoj/kromajxo_stirado.ts
var_fontoj := ${var_fontoj} fontoj/kromajxoj/kromajxo_ekstera.ts
var_fontoj := ${var_fontoj} fontoj/klientoj/kliento.ts
var_fontoj := ${var_fontoj} fontoj/klientoj/kliento_pseuxda.ts
var_fontoj := ${var_fontoj} fontoj/klientoj/kliento_irc.ts
var_fontoj := ${var_fontoj} fontoj/cxefajxo.ts

var_moduloj := 
var_moduloj := ${var_moduloj} irc
var_moduloj := ${var_moduloj} sqlite3
# var_moduloj := ${var_moduloj} request
var_moduloj := ${var_moduloj} yql
var_moduloj := ${var_moduloj} xml2js

defauxlto: konstrui
.PHONY: defauxlto

konstrui: kompili # moduloj
.PHONY: konstrui

lancxi: kreajxo/kvasir.js
	@ ${komando_avizi} "-- lancxado ..."
	@ pushd kreajxo && node kvasir.js ; popd
.PHONY: lancxi

kompili: kreajxo/kvasir.js
.PHONY: kompili

kreajxo/kvasir.js: ${var_fontoj}
	@ ${komando_avizi} "-- kompilado ..."
	@ ${komando_kreidosierujon} kreajxo
	@ ${komando_tsc} ${var_fontoj} --outFile kreajxo/kvasir.js

moduloj:
	@ ${komando_avizi} "-- instalado de moduloj ..."
	@ ${komando_kreidosierujon} kreajxo
	@ pushd kreajxo && npm install ${var_moduloj} ; popd
.PHONY: moduloj

paki:
	@ ${komando_avizi} "-- pakado ..."
	${komando_tar} --directory=kreajxo --create . --file=kvasir.tar
	
nuligi:
	@ ${komando_avizi} "-- nuligado ..."
	@ ${komando_forigi} kreajxo
.PHONY: nuligi