backup de julho
[h2N7SspZmY.git] / data / pages / tools / make.txt
blob3b4ece5ce7b3313637a8d3b32d4256f94a711d58
1 ====== Make ======
3 [[http://www.gnu.org/software/make/|Make]]: [[wp>Make_(software)|Make]]
5 ===== Smart Makefile =====
7 [[http://www-etud.iro.umontreal.ca/~petitg/cpp/makefile.html|Here]].
9 ===== Simple Makefile =====
11 This assumes a program.cpp source file.
13 <file make makefile>
14 all: program
15         ./$<
16         touch $<
17 CXXFLAGS = -Wall
18 </file>
20 Usage:
22 <code bash>
23 $ ls
24 program.cpp makefile
25 $ make
26 g++ -Wall -o program program.cpp
27 ./program
28 touch program
29 $ ls
30 program program.cpp makefile
31 $ make
32 ./program
33 touch program
34 </code>
36 ===== How to do a Programming Competition Makefile =====
38 <file make makefile>
39 PROG = a
41 all: $(PROG) $(PROG).in
42         ./$(PROG) < $(PROG).in
43         @touch $(PROG)
45 $(PROG): $(PROG).cpp
46         g++ -o $(PROG) $(PROG).cpp -Wall
48 $(PROG).cpp:
49         @touch $(PROG).cpp
51 $(PROG).in:
52         @touch $(PROG).in
54 clean:
55         rm -f *.o *~
56 </file>
58 ===== How to install colormake =====
60 <code bash>
61 $ sudo apt-get install colormake
62 $ cd /usr/local/bin
63 $ sudo ln -s /usr/bin/colormake make
64 </code>
66 ===== How to access an index of a list =====
68 <code make>
69 all: prog1 prog2
70   ./$<
71   ./$(word 2, $^)
72 </code>
74 ===== How to make latex with bibtex =====
76 <code make>
77 DOC = document_name
78 all:
79         pdflatex $(DOC).tex
80         bibtex $(DOC)
81         pdflatex $(DOC).tex
82         pdflatex $(DOC).tex
84 clean:
85         rm -rf *.aux *.nav *.out *.log *.snm *.toc *.vrb *~ *.o *.bbl *.blg *.lof *.lot
86 </code>
88 {{tag>programming}}