Email: pacolinux arroba inicia punto es
Web: http://www.iespana.es/pacolatex
Con Linux Debian. En Valencia (España)
Este documento es de libre reproducción siempre que se cite su fuente.
Realizado con: LATEX
Sacado del man make:
"Make es una utilidad de GNU para mantener grupos de programas."
Es necesario tener el fichero makefile, para que llamar al make desde consola sepa que hacer.
La forma en la que se escriben las reglas es esta:
etiqueta : [dependencia1 ...] [;comandos] [# comentarios] [(tabulación) comandos] [# comentarios]
o
objetivo: requisito comando1; comando2; comando3
o
objetivo: requisito comando1; comando2; comando3
o
destino ... : prerequisito .. comando comando comando
Siendo
Nota: Una regla puede tener más de una linea. Debemos poner una tabulacion al principio de cada comando. Cada linea se ejecuta en paralelo con las demás.
Por defecto make comienza con el primer destino. Esto es llamado destino por defecto. Puede que los otros destinos o targets se activen si forman parte de los prerrequisitos.
Si queremos que make solo haga un destino debemos poner make destino
TEX = latex %.dvi:%.tex # pattern rule para LaTeX $(TEX) $< ; $(TEX) $<
all: tutorial.ps plantilla-1.ps plantilla-2.ps transparencias.ps \ tutorial-2pag.ps plantilla-2-tex.ps clean: rm -f tutorial.ps tutorial-2pag.ps plantilla-1.ps \ plantilla-2.ps transparencias.ps tutorial-2pag.ps \ plantilla-2-tex.ps *.dvi *.log *.aux *.toc *~ # Código plantilla a transparencia plantilla-2-tex.ps: plantilla-2.tex a2ps -p -8 -1 -B plantilla-2.tex > plantilla-2-tex.ps # Tutorial a 2 paginas tutorial-2pag.ps: tutorial.ps mpage -A2 $< > $@ # Generica para generar postscript %.ps: %.dvi dvips -t a4 -o $@ $< # Generica para generar dvi %.dvi: %.tex latex $< latex $< latex $<
edit : main.o kbd.o command.o display.o \ insert.o search.o files.o utils.o cc -o edit main.o kbd.o command.o display.o \ insert.o search.o files.o utils.o main.o : main.c defs.h cc -c main.c kbd.o : kbd.c defs.h command.h cc -c kbd.c command.o : command.c defs.h command.h cc -c command.c display.o : display.c defs.h buffer.h cc -c display.c insert.o : insert.c defs.h buffer.h cc -c insert.c search.o : search.c defs.h buffer.h cc -c search.c files.o : files.c defs.h buffer.h command.h cc -c files.c utils.o : utils.c defs.h cc -c utils.c clean : rm edit main.o kbd.o command.o display.o \ insert.o search.o files.o utils.o
Con varialbles:
objects = main.o kbd.o command.o display.o \ insert.o search.o files.o utils.o edit : $(objects) cc -o edit $(objects) main.o : main.c defs.h cc -c main.c kbd.o : kbd.c defs.h command.h cc -c kbd.c command.o : command.c defs.h command.h cc -c command.c display.o : display.c defs.h buffer.h cc -c display.c insert.o : insert.c defs.h buffer.h cc -c insert.c search.o : search.c defs.h buffer.h cc -c search.c files.o : files.c defs.h buffer.h command.h cc -c files.c utils.o : utils.c defs.h cc -c utils.c clean : rm edit $(objects)
lista : lista.o main.c lista.h gcc lista.o creditos.o main.c -o lista lista.o : lista.c gcc -c lista.c creditos.o : creditos.c gcc -c creditos.c
FILES= flectura.c fagnadir.c agnadir.c ini.c \ estad.c varios.c mensaje.c flujo.c\ describe.c juntar.c selec.c ordenar.c OFILES=flectura.o fagnadir.o agnadir.o ini.o \ estad.o varios.o mensaje.o flujo.o\ describe.o juntar.o selec.o ordenar.o PFILE= main.c LIBS= -lm NOMBRE= pp all: $(OFILES) gcc -g -o $(NOMBRE) $(OFILES) $(PFILE) $(LIBS) comp: $(FILES) gcc -g -c $(FILES) save: tar cvfz /home/iolalla/pp.tgz /home/iolalla/pepe
echo "Uso: ./makefile.sh fichero [pdf|html|..]" cp makefileplantilla $1_make sed -e "s/fichero/${1}/g" $1_make > makefiletemp mv makefiletemp $1_make echo "make -f" $1_make $1.$2 make -f $1_make $1.$2
TEX=latex f=fichero.tex fichero_datos.tex fichero.all: fichero.dvi fichero.pdf fichero2.pdf \ fichero.html fichero.zip fichero.mio: fichero.dvi fichero.pdf fichero.html fichero.latex: $(f) $(TEX) fichero.tex; fichero.dvi: $(f) $(TEX) fichero.tex; makeindex fichero.idx; $(TEX) fichero.tex; fichero.bib: $(f) fichero.bib $(TEX) fichero.tex; bibtex fichero; makeindex fichero.idx; $(TEX) fichero.tex; fichero.pdf: $(f) pdflatex fichero.tex; xpdf fichero.pdf; fichero.html: $(f) latex2html fichero -no_subdir -split 0 \ -local_icons 1 -show_section_numbers -no_auto_link fichero2.pdf: fichero.pdf pdftops fichero.pdf; pstops "2:0L@.7(21cm,0)+1L@.7(21cm,14.85cm)" \ fichero.ps fichero2.ps; ps2pdf fichero2.ps; rm fichero2.ps fichero.ps; fichero.zip: fichero.tex zip -u $(f) fichero.clean: rm -f fichero.log fichero.ps \ fichero.dvi fichero.out fichero.aux fichero.txt: fichero.pdf pdftotext fichero.pdf
gunzip -c /usr/share/info/make.info-1.gz | less more gunzip -c /usr/share/info/make.info-2.gz | less more gunzip -c /usr/share/info/make.info-3.gz | less more ...
This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.70)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html makefile -split 0 -local_icons 1 -show_section_numbers -no_auto_link -no_navigation
The translation was initiated by on 2004-11-21