Makefile 6.39 KB
Newer Older
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
#----------------------------------------------------------
#
# Slides pdf "animés" avec :
#
# - beamer
# - le splitfig-beamer de Florence
#   qui permet de specifier des animations
#   complexes.
# 
# - N.B. on passe par mk3, un script qui 
#   part d'un .fig et fait tout le boulot
#   (splitfig + fig2dev)
#
# N.B.
# make -r => supprime toutes les regles par défaut
# make -r -d -n => pour voir ce qui ce passe ...
#----------------------------------------------------------
.PHONY : all handout clean

# Supprime les règles de suffixe par défaut
.SUFFIXES :

all:$(OBJDIR) fig target

MAIN=lutin-tuto

FIGS=./figs
OBJDIR =./obj

# Le(s) source(s) latex
SRC = main.org pdf-preambule.org html-preambule.org 

# Les figures 
FIGPDF = \
   $(OBJDIR)/demarche-it-en.tex 

IMGDIR = $(OBJDIR)/smile.gif $(OBJDIR)/detective.gif $(OBJDIR)/demarche-it-en.jpg


html:$(OBJDIR)  $(MAIN)-html.html

TARGETS= $(MAIN)-pdf.pdf $(MAIN)-handout.pdf grille.pdf $(MAIN)-html.html
# La présentation animée
target: $(TARGETS)
anim: $(MAIN)-pdf.pdf
# Handout 2x3
handout: grille.pdf

# Force la recompil
re :
	make handout

erwan's avatar
erwan committed
53
54
55
x:
	xpdf -fullscreen $(MAIN)-pdf.pdf

56
57
58
59
60
61
62
63
64
fig:$(OBJDIR)
	make $(FIGPDF)

png:$(OBJDIR)
	cp -rf png $(OBJDIR)

%.pdf: $(OBJDIR)/%.pdf
	cp $< $@

erwan's avatar
erwan committed
65
66
67



68
69
$(MAIN)-html.org: html-preambule.org main.org
	rm -f $(MAIN)-html.org
70
	echo "# XXX Edite plutot le main.org ou le (pdf/html-preambule) patate ! " >  $(MAIN)-html.org
71
72
73
74
75
76
	cat html-preambule.org main.org | sed -e 's/\\pause//g' \
	| sed -e 's/^html://g'\
	| sed -e 's/^html\.//g'\
	| sed -e 's/:B_note://g'  >> $(MAIN)-html.org
	chmod u-w $(MAIN)-html.org

77
78
#   | grep -v "\[Answer\]" \

79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
$(MAIN)-pdf.org:  pdf-preambule.org main.org 
	rm -f $(MAIN)-pdf.org
	echo "# XXX Edite plutot le main.org patate ! " >  $(MAIN)-pdf.org
	cat pdf-preambule.org main.org \
	| perl -ne 'print if not /^html:/../^html\./'  >> $(MAIN)-pdf.org
	chmod u-w $(MAIN)-pdf.org

$(MAIN)-pdf.pdf : $(OBJDIR) $(OBJDIR)/$(MAIN)-pdf.tex $(IMGDIR) $(MAIN)-pdf.org 
	(cd $(OBJDIR); pdflatex --shell-escape  $(MAIN)-pdf.tex)
	mv $(OBJDIR)/$(MAIN)-pdf.pdf .

noweb:
	make $(OBJDIR)/$(MAIN)-pdf.noweb

$(OBJDIR): 
	mkdir -p $(OBJDIR) 
	make $(OBJDIR)/main.noweb
	cp -f  *.lut $(OBJDIR)
97
98
	cp -rf crazy-rabbit $(OBJDIR)
	cd $(OBJDIR)
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172

$(OBJDIR)/%.jpg: figs/%.fig
	fig2dev -L jpeg $< $@ 

%.gif: figs/%.fig
	fig2dev -L gif -m 2 -S 4  $< $@ 

%.svg: figs/%.fig
	fig2dev -L svg $< $@ 

%.png: figs/%.fig
	fig2dev -L png -m 2 -S 4 $< $@ 

$(OBJDIR)/$(MAIN)-handout.pdf: $(OBJDIR)/$(MAIN)-handout.tex $(SRC)
	(cd $(OBJDIR); pdflatex --shell-escape  $(MAIN)-handout.tex)
	cp $(OBJDIR)/$(MAIN)-handout.pdf .

grille.pdf : grille.tex  $(OBJDIR)/$(MAIN)-handout.pdf
	mkdir -p $(OBJDIR)
	(cd $(OBJDIR); pdflatex --shell-escape  ../grille.tex)
	mv $(OBJDIR)/grille.pdf .

# version sans les animations (et sans les toc de section pour ne pas poluer la grille)
$(OBJDIR)/$(MAIN)-handout.tex: $(OBJDIR)/$(MAIN)-pdf.tex
	sed -e 's/\\documentclass\[\(.*\)\]{beamer}/\n\
\\documentclass\[\1,handout\]{beamer}\n\
/' $(OBJDIR)/$(MAIN)-pdf.tex  | \
   sed -e 's/\\begin{frame}\\frametitle{Plan}\\setcounter{tocdepth}{2}\\tableofcontents\[currentsection\]\\end{frame}//' \
> $(OBJDIR)/$(MAIN)-handout.tex

# $(FIGS)/%.fig -> $(OBJDIR)/%.tex + toutes les couches 
$(OBJDIR)/%.tex :  $(OBJDIR)/%.fig $(IMGDIR)
	cd $(OBJDIR); mk3 -b  $*.fig


.PRECIOUS: $(OBJDIR)/*.jpg $(OBJDIR)/*.gif png/*.png
# $(FIGS)/%.jpg -> $(OBJDIR)/%.jpg
$(OBJDIR)/%.jpg : $(OBJDIR) $(FIGS)/%.jpg
	cp $(FIGS)/$*.jpg $(OBJDIR)/$*.jpg

$(OBJDIR)/%.gif : $(OBJDIR) $(FIGS)/%.gif
	cp $(FIGS)/$*.gif $(OBJDIR)/$*.gif

pdf :  $(OBJDIR)/$(MAIN)-pdf.tex
	make $(MAIN)-pdf.pdf
pdfall : pdf
	make $(MAIN)-handout.pdf
	make grille.pdf


html : $(MAIN)-html.html

rmhtml:
	rm -f $(MAIN)-html.html

clean:
	rm -rf  $(TARGETS) $(MAIN)-html.org $(MAIN)-pdf.org obj/
	rm -f *.aux *.o *.c *.h *.dro  *.lus sh *~ Makefile.* *.log *.ec *.data *.rif *.gp *.html

$(OBJDIR)/%.png:ditaa/%.ditaa
	cd ditaa; java -jar /home/jahier/dd/org-mode/contrib/scripts/ditaa.jar -s 3.5 -r $*.ditaa $*.png
	cp ditaa/$*.png $(OBJDIR)/

#	  --directory=~/el_files/ \
#	  --directory=~/el_files/org-mode/ \
#	  --directory=~/el_files/org-mode/lisp/ \
 #    --load=~/.emacs-org  \


# EMACS=emacs  --load=emacs-org.el  --batch
# XXXXX ne marche pas en batch !!!! depuis emacs, c'est bon par contre...
# mais ca oblige à editer lutin-tuto-html.org à chaque fois
# bon, ok, j'ai trouvé un moyen (bourrin): --eval "(kill-emacs)" -Q
EMACSBH=emacs --load=./emacs-org.el --batch 
173
174
175
176
EMACSB=emacs --load=../emacs-org.el --batch

# XXX with --batch, I loose the htmlize coloring. why ?
EMACS=emacs  --load=../zenburn-theme.el --load=../emacs-org.el # --batch
177

178
179
180
#emacs --batch  --eval "(setq org-export-headline-levels 2)" \
	  --visit=README.org --funcall org-html-export-to-html

181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
#	$(EMACS) --batch \

$(OBJDIR)/%.lut: %.lut
	cp $< $@

LUTIN=$(shell ls *.lut | sed -e 's/^/obj\//')


$(OBJDIR)/%.fig: figs/%.fig
	cp $< $@

$(OBJDIR)/%.org: %.org
	cp $< $@

$(OBJDIR)/%.tex: $(OBJDIR)/%.org $(LUTIN)
	cd $(OBJDIR); \
	$(EMACSB) --visit=$*.org --funcall org-export-as-latex 
	cp $(OBJDIR)/$*.tex $(OBJDIR)/$*_.tex; \
		sed -e "s/\\\usepackage{wasysym}//" $(OBJDIR)/$*_.tex > $(OBJDIR)/$*.tex
	cp $(OBJDIR)/$*.tex $(OBJDIR)/$*_.tex; \
		sed -e "s/\\\usepackage{marvosym}//" $(OBJDIR)/$*_.tex > $(OBJDIR)/$*.tex


$(OBJDIR)/%.noweb: %.org
	$(EMACSBH)   --visit=$*.org --funcall  org-babel-tangle


%.html: $(OBJDIR)/%.html
	cp $< $@

%.lut.html:%.lut
	cd $(OBJDIR); \
	$(EMACS) --eval "(htmlize-file \"$<\")" --eval "(kill-emacs)" -Q 


$(OBJDIR)/%.html: $(OBJDIR)/%.org demarche-it-en.png
	cd $(OBJDIR); \
	$(EMACS) --visit=$*.org --eval "(load-theme 'zenburn)" --funcall org-export-as-html   --eval "(kill-emacs)" -Q
erwan's avatar
erwan committed
219
220
	cp $@ /tmp/xxx
	cat /tmp/xxx | sed -e  's/<div id=\"postamble\">/<HR><div id=\"postamble\">/g'> $@
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237


#          --eval "(setq org-export-headline-levels 2)" \
# --directory=~/el_files/ \
# --directory=~/el_files/org-mode/lisp/ \
#     --load=/local/jahier/.emacs.d/elpa/htmlize-1.39/htmlize.el  \

SYNCHRONE_DIR=/import/www/DIST-TOOLS/SYNCHRONE
www:
	cp $(TARGETS)  $(SYNCHRONE_DIR)/lurette/doc/lutin-tuto/
	cp demarche-it-en.png  $(SYNCHRONE_DIR)/lurette/doc/lutin-tuto/
	cp -rf jpg  $(SYNCHRONE_DIR)/lurette/doc/lutin-tuto/
	cp -rf png $(SYNCHRONE_DIR)/lurette/doc/lutin-tuto/
	cp -rf sh $(SYNCHRONE_DIR)/lurette/doc/lutin-tuto/
	cp -rf *.lut $(SYNCHRONE_DIR)/lurette/doc/lutin-tuto/
	cp slides.css $(SYNCHRONE_DIR)/lurette/doc/lutin-tuto/
	cp $(MAIN)-html.html  $(SYNCHRONE_DIR)/lurette/doc/lutin-tuto/