COMPOSER=php -d memory_limit=-1 $(shell which composer)
CONSOLE=bin/console
MYTMPDIR=myTmpDir
DBDIR=

## NEW PROJECT
PROJECTNAME=new
SYMPHONYPROJECT=framework-standard-edition
newSymfonyProject:
	composer create-project symfony/${SYMPHONYPROJECT} ${PROJECTNAME} "3.4.*"
	cp Makefile  ${PROJECTNAME}/

## DATABASE
dropDb:
	${CONSOLE} doctrine:database:drop --force

createDb:
	$(CONSOLE) doctrine:database:create

validateDb:
	$(CONSOLE) doctrine:schema:validate

updateDb:
	$(CONSOLE) doctrine:schema:update --force 

cacheClear:
	$(CONSOLE) doctrine:cache:clear-metadata
	$(CONSOLE) doctrine:cache:clear-query  
	$(CONSOLE) doctrine:cache:clear-result  

entities:
	$(CONSOLE) doctrine:generate:entities AppBundle

createEntities:
	php bin/console doctrine:mapping:import --force AppBundle yml
	php bin/console doctrine:mapping:convert annotation ./src

createDbFromSql:
	sqlite3 var/db/database.sqlite < var/db/create.sql

initDb:
	make mkdirTmp
	mv src/AppBundle/Entity/* ${MYTMPDIR}/
	make dropDb
	make createDb
	make validateDb
	mv  ${MYTMPDIR}/* src/AppBundle/Entity/
	make rmdirTmp

crud:
	$(CONSOLE) generate:doctrine:crud 

schemaDb:
	echo '.schema' | sqlite3 var/db/database.sqlite

mkdirTmp:
	mkdir ${MYTMPDIR}
rmdirTmp:
	rmdir ${MYTMPDIR}

## PHP SERVER
startServer:
	$(CONSOLE) server:start

stopServer:
	$(CONSOLE) server:stop

serverStatus:
	$(CONSOLE) server:status

## USERS
fos_userbundle:
	$(COMPOSER) require symfony/templating
	$(COMPOSER) require friendsofsymfony/user-bundle 

## ZIP DU PROJET
## ET L'INSTALLER SUR LE REP WEB

DIRNAME=${shell basename `pwd`}
WEBDIR=/Users/lsantoca/Workspace/DW/shared/html/code/

zip: cacheClear cleanZip
	echo ${DIRNAME}
	cd ../; zip -r ${DIRNAME}.zip ${DIRNAME}/* 
	cd ../; zip -d ${DIRNAME}.zip ${DIRNAME}/nbproject/\* tree.txt*
	cd ../; mv ${DIRNAME}.zip ${DIRNAME}/

cleanZip:
	rm *.zip

installToWeb: zip
	cp ${DIRNAME}.zip ${WEBDIR} 


## COPIER CE MAKEFILE POUR LES ETUDIANTS
makefileCopyToWeb:
	cp Makefile ${WEBDIR}Makefile_memoSymfony
