Lines Matching full:makefiles
67 * Makefiles:: Makefiles tell `make' what to do.
80 * Makefile Conventions:: Conventions for writing makefiles for
99 An Introduction to Makefiles
104 * Variables Simplify:: Variables Make Makefiles Simpler
109 Writing Makefiles
111 * Makefile Contents:: What makefiles contain.
114 * MAKEFILES Variable:: The environment can specify extra makefiles.
115 * MAKEFILE_LIST Variable:: Discover which makefiles have been read.
117 * Remaking Makefiles:: How makefiles get remade.
118 * Overriding Makefiles:: How to override part of one makefile
120 * Reading Makefiles:: How makefiles are parsed.
179 * Recursion:: Invoking `make' from makefiles.
226 Conditional Parts of Makefiles
364 Introduction to Makefiles: Introduction, all of which is introductory.
418 File: make.info, Node: Introduction, Next: Makefiles, Prev: Overview, Up: Top
420 2 An Introduction to Makefiles
446 * Variables Simplify:: Variables Make Makefiles Simpler
636 2.4 Variables Make Makefiles Simpler
775 for. Makefiles commonly tell how to do a few other things besides
808 File: make.info, Node: Makefiles, Next: Rules, Prev: Introduction, Up: Top
810 3 Writing Makefiles
818 * Makefile Contents:: What makefiles contain.
821 * MAKEFILES Variable:: The environment can specify extra makefiles.
822 * MAKEFILE_LIST Variable:: Discover which makefiles have been read.
824 * Remaking Makefiles:: How makefiles get remade.
825 * Overriding Makefiles:: How to override part of one makefile
827 * Reading Makefiles:: How makefiles are parsed.
831 File: make.info, Node: Makefile Contents, Next: Makefile Names, Prev: Makefiles, Up: Makefiles
833 3.1 What Makefiles Contain
836 Makefiles contain five kinds of things: "explicit rules", "implicit
856 Makefiles Simpler: Variables Simplify.).
861 * Reading another makefile (*note Including Other Makefiles:
866 Makefiles: Conditionals.).
892 File: make.info, Node: Makefile Names, Next: Include, Prev: Makefile Contents, Up: Makefiles
904 recommended for most makefiles. You should use this name if you have a
918 can specify several makefiles. All the makefiles are effectively
924 File: make.info, Node: Include, Next: MAKEFILES Variable, Prev: Makefile Names, Up: Makefiles
926 3.3 Including Other Makefiles
930 makefile and read one or more other makefiles before continuing. The
963 handled by individual makefiles in various directories, need to use a
986 Once it has finished reading makefiles, `make' will try to remake any
987 that are out of date or don't exist. *Note How Makefiles Are Remade:
988 Remaking Makefiles. Only after it has tried to find a way to remake a
1009 File: make.info, Node: MAKEFILES Variable, Next: MAKEFILE_LIST Variable, Prev: Include, Up: Makefiles
1011 3.4 The Variable `MAKEFILES'
1014 If the environment variable `MAKEFILES' is defined, `make' considers
1016 makefiles to be read before the others. This works much like the
1018 (*note Including Other Makefiles: Include.). In addition, the default
1019 goal is never taken from one of these makefiles and it is not an error
1020 if the files listed in `MAKEFILES' are not found.
1022 The main use of `MAKEFILES' is in communication between recursive
1027 without a specific makefile, a makefile in `MAKEFILES' can do useful
1031 Some users are tempted to set `MAKEFILES' in the environment
1032 automatically on login, and program makefiles to expect this to be done.
1033 This is a very bad idea, because such makefiles will fail to work if
1035 directives in the makefiles. *Note Including Other Makefiles: Include.
1038 File: make.info, Node: MAKEFILE_LIST Variable, Next: Special Variables, Prev: MAKEFILES Variable, Up: Makefiles
1043 As `make' reads various makefiles, including any obtained from the
1044 `MAKEFILES' variable, the command line, the default files, or from
1077 File: make.info, Node: Special Variables, Next: Remaking Makefiles, Prev: MAKEFILE_LIST Variable, Up: Makefiles
1127 (*note How Makefiles Are Remade: Remaking Makefiles.): it will
1176 makefiles (*note Including Other Makefiles: Include.).
1180 File: make.info, Node: Remaking Makefiles, Next: Overriding Makefiles, Prev: Special Variables, Up: Makefiles
1182 3.7 How Makefiles Are Remade
1185 Sometimes makefiles can be remade from other files, such as RCS or SCCS
1189 To this end, after reading in all makefiles, `make' will consider
1194 After all makefiles have been checked, if any have actually been
1195 changed, `make' starts with a clean slate and reads all the makefiles
1200 If you know that one or more of your makefiles cannot be remade and
1207 If the makefiles specify a double-colon rule to remake a file with
1209 Double-Colon::). In the case of makefiles, a makefile that has a
1212 reads the makefiles in again. This would cause an infinite loop:
1214 else. So, to avoid this, `make' will *not* attempt to remake makefiles
1218 If you do not specify any makefiles to be read with `-f' or `--file'
1220 Give Your Makefile: Makefile Names. Unlike makefiles explicitly
1222 these makefiles should exist. However, if a default makefile does not
1226 Therefore, if none of the default makefiles exists, `make' will try
1236 `-t' option has no effect on updating makefiles; they are really
1238 and `-n' (or `--just-print') do not prevent updating of makefiles,
1246 even the makefiles. You can do this by specifying the makefiles as
1247 goals in the command line as well as specifying them as makefiles.
1258 File: make.info, Node: Overriding Makefiles, Next: Reading Makefiles, Prev: Remaking Makefiles, Up: Makefiles
1266 However, if the two makefiles give different commands for the same
1303 File: make.info, Node: Reading Makefiles, Next: Secondary Expansion, Prev: Overriding Makefiles, Up: Makefiles
1309 phase it reads all the makefiles, included makefiles, etc. and
1318 often a source of some confusion when writing makefiles. Here we will
1375 File: make.info, Node: Secondary Expansion, Prev: Reading Makefiles, Up: Makefiles
1382 `make' Reads a Makefile: Reading Makefiles.). GNU make also has the
1395 makefiles. In order to take advantage of the secondary expansion phase
1554 File: make.info, Node: Rules, Next: Commands, Prev: Makefiles, Up: Top
2364 many makefiles. *Note Phony Targets::.
2457 will be expanded a second time after all makefiles have been read
2616 prerequisites to many files at once. For example, makefiles often have
2868 In GNU `make', the feature of remaking makefiles makes this practice
2871 of date. *Note Remaking Makefiles::.
2921 makefiles, `foo.d bar.d'. *Note Substitution Refs::, for full
2923 makefiles like any others, `make' will remake them as necessary with no
2924 further work from you. *Note Remaking Makefiles::.
2928 in your makefiles or run the risk of having a random object file become
2942 Users use many different shell programs, but commands in makefiles
2954 * Recursion:: Invoking `make' from makefiles.
2964 Makefiles have the unusual property that there are really two distinct
2966 Writing Makefiles: Makefiles.). However, commands are meant to be
3068 different shell in your makefiles it may treat them differently.
3077 quoting rules for makefiles will be used, and the backslash-newline
3102 makefiles and the target is determined to be out of date; so, the
3212 functioning of makefiles. *Note Variables from the Environment:
3240 The processing of lines that set the variable `SHELL' in Makefiles
3281 that contains `SHELL = /bin/sh' (as many Unix makefiles do), will work
3475 This technique is useful when you want separate makefiles for various
3590 unexport it). `MAKEFILES' is exported if you set it to anything.
3660 default in older versions of GNU `make'. If your makefiles depend on
3683 (*note Conditional Parts of Makefiles: Conditionals.); this way you can
3687 You can use the variable `MAKEFILES' to cause all sub-`make'
3688 commands to use additional makefiles. The value of `MAKEFILES' is a
3691 it serves as a list of extra makefiles for the sub-`make' to read
3692 before the usual or specified ones. *Note The Variable `MAKEFILES':
3693 MAKEFILES Variable.
3773 makefiles to be compatible with old `make' programs, use this
3795 `make' and undermine the purpose of makefiles and of `make' itself.
4024 is precisely `c'. (Don't actually write your makefiles this way!)
4578 between makefiles and command arguments. It was invented so you can
4672 cause all C compilations in most makefiles to use the compiler switches
4675 things. (Note this is not totally reliable; some makefiles set
4688 is not wise for makefiles to depend for their functioning on
4691 This is against the whole purpose of most makefiles.
4810 7 Conditional Parts of Makefiles
5811 into another makefile, then include it in all the individual makefiles.
5812 Now your individual makefiles are quite straightforward.
5979 Makefiles.). Because this function involves spawning a new shell, you
6053 of date. Usually, makefiles are written so that if you run `make' with
6103 argument, all the specified files are used jointly as makefiles.
6108 Makefiles: Makefiles.).
6121 counting targets that start with a period). Therefore, makefiles are
6174 Empty Target Files to Record Events: Empty Targets.). Many makefiles
6303 information about `make' or about the makefiles in use (*note Summary
6458 disabled when considering whether to remake makefiles (*note How
6459 Makefiles Are Remade: Remaking Makefiles.).
6463 Change to directory DIR before reading the makefiles. If multiple
6495 makefiles were parsed, prerequisites that did not need to be
6508 to remake the makefiles. This option enables messages while
6509 rebuilding makefiles, too. Note that the `all' option does
6516 variables from makefiles. *Note Variables from the Environment:
6522 Read the file named FILE as a makefile. *Note Writing Makefiles:
6523 Makefiles.
6536 Specifies a directory DIR to search for included makefiles. *Note
6537 Including Other Makefiles: Include. If several `-I' options are
6593 reading the makefiles; then execute as usual or as otherwise
6690 debug makefiles which use variables in complex ways.
7061 makefiles.
7064 programs in built-in rules: makefiles.