-
-
Notifications
You must be signed in to change notification settings - Fork 29
Expand file tree
/
Copy pathMakefile
More file actions
118 lines (107 loc) · 6.64 KB
/
Copy pathMakefile
File metadata and controls
118 lines (107 loc) · 6.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# ==============================================================================
# Makefile - Automatización de compilación para TFG/TFM
# Plantilla TFG/TFM EPS Universidad de Alicante
#
# Autor: José Manuel Requena Plens
# Enlace: https://github.com/jmrplens/TFG-TFM_EPS
# Licencia: MIT
# Versión: 2.2.2
# ==============================================================================
#
# Comandos disponibles:
# make - Compilación completa (lualatex + biber + 2x lualatex)
# make quick - Compilación rápida (solo lualatex)
# make clean - Eliminar archivos auxiliares
# make distclean - Eliminar todo lo generado (incluido PDF)
# make view - Abrir el PDF generado
# make watch - Compilación continua (requiere latexmk)
# make help - Mostrar ayuda
# Configuración
export TEXINPUTS := .:cls/:sty/:$(TEXINPUTS)
MAIN = main
LATEX = lualatex
LATEX_FLAGS = -shell-escape -interaction=nonstopmode -halt-on-error
BIBER = biber
VIEWER = xdg-open
# Archivos a limpiar
AUX_FILES = *.aux *.log *.out *.toc *.lof *.lot *.bbl *.bcf *.blg \
*.run.xml *.fls *.fdb_latexmk *.synctex.gz *.nav *.snm \
*.vrb *.pyg *.pytxcode *.acn *.acr *.alg *.glg *.glo *.gls \
*.ist *.glsdefs *-blx.bib contenido/**/*.aux
.PHONY: all quick clean distclean view watch help
# Compilación completa por defecto
all: $(MAIN).pdf
# Compilación completa con bibliografía
$(MAIN).pdf: $(MAIN).tex configuracion.tex $(wildcard contenido/**/*.tex) referencias.bib $(wildcard cls/*.cls) $(wildcard sty/*.sty) $(wildcard sty/componentes/*.sty)
@echo "══════════════════════════════════════════════════════════════"
@echo " Compilando $(MAIN).tex (paso 1/4)..."
@echo "══════════════════════════════════════════════════════════════"
$(LATEX) $(LATEX_FLAGS) $(MAIN)
@echo ""
@echo "══════════════════════════════════════════════════════════════"
@echo " Procesando bibliografía con Biber (paso 2/4)..."
@echo "══════════════════════════════════════════════════════════════"
$(BIBER) $(MAIN)
@echo ""
@echo "══════════════════════════════════════════════════════════════"
@echo " Compilando $(MAIN).tex (paso 3/4)..."
@echo "══════════════════════════════════════════════════════════════"
$(LATEX) $(LATEX_FLAGS) $(MAIN)
@echo ""
@echo "══════════════════════════════════════════════════════════════"
@echo " Compilando $(MAIN).tex (paso 4/4)..."
@echo "══════════════════════════════════════════════════════════════"
$(LATEX) $(LATEX_FLAGS) $(MAIN)
@echo ""
@echo "══════════════════════════════════════════════════════════════"
@echo " ✓ Compilación completada: $(MAIN).pdf"
@echo "══════════════════════════════════════════════════════════════"
# Compilación rápida (solo un paso de lualatex)
quick:
@echo "Compilación rápida..."
$(LATEX) $(LATEX_FLAGS) $(MAIN)
# Limpiar archivos auxiliares
clean:
@echo "Limpiando archivos auxiliares..."
-rm -f $(AUX_FILES)
-rm -rf _minted-$(MAIN)
@echo "✓ Limpieza completada"
# Limpieza profunda (incluye el PDF)
distclean: clean
@echo "Eliminando PDF generado..."
-rm -f $(MAIN).pdf
@echo "✓ Limpieza profunda completada"
# Abrir el PDF
view: $(MAIN).pdf
@echo "Abriendo $(MAIN).pdf..."
$(VIEWER) $(MAIN).pdf &
# Compilación continua con latexmk
watch:
@echo "Iniciando compilación continua (Ctrl+C para detener)..."
latexmk -lualatex -shell-escape -pvc -interaction=nonstopmode $(MAIN)
# Ayuda
help:
@echo ""
@echo "╔══════════════════════════════════════════════════════════════╗"
@echo "║ Makefile para TFG/TFM EPS Universidad de Alicante ║"
@echo "╠══════════════════════════════════════════════════════════════╣"
@echo "║ ║"
@echo "║ Comandos disponibles: ║"
@echo "║ ║"
@echo "║ make Compilación completa ║"
@echo "║ (lualatex + biber + 2x lualatex) ║"
@echo "║ ║"
@echo "║ make quick Compilación rápida (solo lualatex) ║"
@echo "║ ║"
@echo "║ make clean Eliminar archivos auxiliares ║"
@echo "║ ║"
@echo "║ make distclean Eliminar todo (incluido PDF) ║"
@echo "║ ║"
@echo "║ make view Abrir el PDF generado ║"
@echo "║ ║"
@echo "║ make watch Compilación continua (requiere latexmk) ║"
@echo "║ ║"
@echo "║ make help Mostrar esta ayuda ║"
@echo "║ ║"
@echo "╚══════════════════════════════════════════════════════════════╝"
@echo ""