File: c49.htm

package info (click to toggle)
fastdep 0.16-7
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 596 kB
  • ctags: 323
  • sloc: cpp: 2,144; ansic: 814; sh: 208; makefile: 124
file content (188 lines) | stat: -rw-r--r-- 3,019 bytes parent folder | download | duplicates (5)
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
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
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
<HTML
><HEAD
><TITLE
>Writing a make-rule to generate dependency information</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.74b"><LINK
REL="HOME"
TITLE="fastdep manual"
HREF="book1.htm"><LINK
REL="PREVIOUS"
TITLE="Basic usage"
HREF="c34.htm"><LINK
REL="NEXT"
TITLE="Automatically regenerating dependency information"
HREF="c63.htm"></HEAD
><BODY
CLASS="CHAPTER"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>fastdep manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="c34.htm"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="c63.htm"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="CHAPTER"
><H1
><A
NAME="AEN49"
>Chapter 3. Writing a make-rule to generate dependency information</A
></H1
><P
>In general it is much more convenient to let your makefiles
	generate their own dependency information instead of doing it by hand
	as described in the previous chapter.</P
><P
>Let's say we have a variable in our makefile that lists all
	source files, <TT
CLASS="VARNAME"
>SOURCES</TT
>. We also want
	to save dependency information to a file named <TT
CLASS="FILENAME"
>.depend</TT
>.
	Here is how to write a make rule to accomplish just that.</P
><DIV
CLASS="EXAMPLE"
><A
NAME="AEN55"
></A
><P
><B
>Example 3-1. Makefile fragment to generate dependencies from
		a number of sources</B
></P
><PRE
CLASS="PROGRAMLISTING"
>.depend:
	fastdep $(SOURCES) &#62; .depend

-include .depend
	</PRE
></DIV
><P
>It adds a new target <TT
CLASS="FILENAME"
>.depend</TT
>, 
	which is file to hold the dependency information generated by fastdep
	for all files listed in <TT
CLASS="VARNAME"
>SOURCES</TT
>. The fragment
also includes this file in the Makefile itself when it exist. If not
make will generate it first (using the rule
we specified), restart itself and include it next.</P
><P
>Now each time we want to regenerate dependencies, all we
	have to do is delete the <TT
CLASS="FILENAME"
>.depend</TT
> file and launch
	make.</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="c34.htm"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="book1.htm"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="c63.htm"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Basic usage</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Automatically regenerating dependency information</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>