Your IP : 216.73.217.30


Current Path : /home/deltalab/PMS/recommendations/
Upload File :
Current File : //home/deltalab/PMS/recommendations/Makefile

# FOLDERS
VENV := venv

# PROGRAMS
PYTHON := python3.9
PIP := python3.9 -m pip

# COLORS
RED := \033[31m
GREEN := \033[32m
YELLOW := \033[33m
BLUE := \033[34m
NONE := \033[0m

# COMMANDS
ECHO := echo -e
GIT := git
CD := cd
MKDIR := mkdir -p

# RULES
.PHONY: help env install init run rules users batch

help:
	@$(ECHO) '$(YELLOW)Makefile help$(NONE)'
	@$(ECHO) " \
	* env			: Genera un environment di python usando $(YELLOW)venv$(NONE)\n \
	* install		: Installa le dipendenze necessarie (specificate nel file $(YELLOW)requirements.txt$(NONE))\n \
	* init			: Inizializza e scarica i sotto-moduli git\n \
	* run			: Esegui il programma principale\n \
	$(GREEN)Comandi specifici per generare raccomandazioni$(NONE)\n \
	* rules		: Calcola regole di associazioni basate su co-acquisti\n \
	* users		: Costruisci profili utenti e genera raccomandazioni su essi\n \
	* batch		: Esegui sistema di raccomandazione ibrido basato su prodotto di riferimento"

env:
	@$(ECHO) '$(BLUE)Generazione environment di Python...$(NONE)'
	@$(MKDIR) $(VENV)
	@$(eval PYTHON_VERSION=$(shell $(PYTHON) --version | tr -d '[:space:]' | tr '[:upper:]' '[:lower:]' | cut -f1,2 -d'.'))
	@$(PYTHON_VERSION) -m venv $(VENV)/recomsys
	@$(ECHO) '$(GREEN)Environment Python creato$(NONE)'

install:
	@$(ECHO) '$(BLUE)Installazione delle dipendenze...$(NONE)'
	@$(PIP) install -r requirements.txt
	@$(ECHO) '$(GREEN)Librerie installate$(NONE)'

init:
	@$(ECHO) '$(BLUE)Inizializzazione progetto$(NONE)'
	@$(GIT) submodule init
	@$(GIT) submodule update --remote
	@$(ECHO) '$(GREEN)Sotto moduli inizializzati$(NONE)'

run:
	@$(ECHO) '$(BLUE)Eseguo il sistema di raccomandazione$(NONE)'
	@$(ECHO) '$(YELLOW)Esecuzione recomsys-datapreparation-batch$(NONE)'
	@$(CD) recomsys-datapreparation-batch; \
	 $(PYTHON) app.py; \
	 $(CD) ..
	@$(ECHO) '$(YELLOW)Esecuzione user_profiling$(NONE)'
	@$(CD) user_profiling; \
	 $(PYTHON) app.py; \
	 $(CD) ..
	@$(ECHO) '$(YELLOW)Esecuzione recommender-system-batch$(NONE)'
	@$(CD) recommender-system-batch; \
	 $(PYTHON) app.py; \
	 $(CD) ..
	@$(ECHO) '$(GREEN)Esecuzione terminata$(NONE)'

rules:
	@$(ECHO) '$(BLUE)Generazione regole di associazione$(NONE)'
	@$(CD) recomsys-datapreparation-batch; \
	 $(PYTHON) app.py; \
	 $(CD) ..
	@$(ECHO) '$(GREEN)Esecuzione terminata$(NONE)'

users:
	@$(ECHO) '$(BLUE)Generazione profili utenti e raccomandazioni mirate$(NONE)'
	@$(CD) user_profiling; \
	 $(PYTHON) app.py; \
	 $(CD) ..
	@$(ECHO) '$(GREEN)Esecuzione terminata$(NONE)'

batch:
	@$(ECHO) '$(BLUE)Generazione raccomandazioni basate su prodotto$(NONE)'
	@$(CD) recommender-system-batch; \
	 $(PYTHON) app.py; \
	 $(CD) ..
	@$(ECHO) '$(GREEN)Esecuzione terminata$(NONE)'