1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-19 10:53:58 +00:00
freebsd/usr.bin/make
Max Khon 9a81351403 Implement "Remaking Makefiles" feature:
After reading Makefile and all the files that are included using .include
or .sinclude directives (source Makefiles) make considers each source
Makefile as a target and tries to rebuild it.  Both explicit and implicit
rules are checked and all source Makefiles are updated if necessary. If
any of the source Makefiles were rebuilt, make restarts from clean state.

To prevent infinite loops the following source Makefile targets are
ignored:
- :: targets that have no prerequisites but have commands
- ! targets
- targets that have .PHONY or .EXEC attributes
- targets without prerequisites and without commands

When remaking a source Makefile options -t (touch target), -q (query
mode), and -n (no exec) do not take effect, unless source Makefile is
specified explicitly as a target in make command line.
Additionally, system makefiles and .depend are not considered as a
Makefiles that can be rebuilt.

Reviewed by:	harti
2007-03-08 09:16:11 +00:00
..
PSD.doc
arch.c Get rid of the third argument to Var_Value() the pointer it pointed 2005-05-24 15:58:35 +00:00
arch.h Get rid of the ReturnStatus obscuration that was anyway used only 2005-05-18 06:50:39 +00:00
buf.c Move the Boolean and ReturnStatus stuff from sprite.h to util.h and 2005-05-13 08:53:00 +00:00
buf.h Move the Boolean and ReturnStatus stuff from sprite.h to util.h and 2005-05-13 08:53:00 +00:00
cond.c Under certain conditions the condition parser would go one past end of 2005-05-25 16:06:14 +00:00
cond.h Rework the directive parsing code. Instead of using a lot of strcmp()s 2005-04-11 07:20:10 +00:00
config.h
dir.c Make paths an explicite datatype instead of using the generic Lst. 2005-03-23 12:56:15 +00:00
dir.h Make paths an explicite datatype instead of using the generic Lst. 2005-03-23 12:56:15 +00:00
for.c Var_SubstOnly() is only used to subsitute a variable from the global 2005-05-10 12:02:15 +00:00
for.h Move the Boolean and ReturnStatus stuff from sprite.h to util.h and 2005-05-13 08:53:00 +00:00
globals.h Implement "Remaking Makefiles" feature: 2007-03-08 09:16:11 +00:00
GNode.h Move the Boolean and ReturnStatus stuff from sprite.h to util.h and 2005-05-13 08:53:00 +00:00
hash_tables.c Add a .sinclude directive which does the exact same as .include, except 2005-09-26 20:31:00 +00:00
hash_tables.h Rename the directive_hash.[ch] files to hash_tables.[ch] now 2005-04-29 15:15:28 +00:00
hash.c Move the Boolean and ReturnStatus stuff from sprite.h to util.h and 2005-05-13 08:53:00 +00:00
hash.h Move the Boolean and ReturnStatus stuff from sprite.h to util.h and 2005-05-13 08:53:00 +00:00
job.c Implement "Remaking Makefiles" feature: 2007-03-08 09:16:11 +00:00
job.h Implement "Remaking Makefiles" feature: 2007-03-08 09:16:11 +00:00
lst.c Get rid of the ReturnStatus obscuration that was anyway used only 2005-05-18 06:50:39 +00:00
lst.h Get rid of the ReturnStatus obscuration that was anyway used only 2005-05-18 06:50:39 +00:00
main.c Implement "Remaking Makefiles" feature: 2007-03-08 09:16:11 +00:00
make.1 Implement "Remaking Makefiles" feature: 2007-03-08 09:16:11 +00:00
make.c The caller of Var_Value() should not change the variable value. Make 2005-05-24 16:05:51 +00:00
make.h Implement "Remaking Makefiles" feature: 2007-03-08 09:16:11 +00:00
Makefile So, what's it supposed to say when you type "make love"? 2006-05-11 18:08:44 +00:00
Makefile.dist Use the name of the default shell instead of a numeric index to select 2005-05-24 13:19:40 +00:00
parse.c Implement "Remaking Makefiles" feature: 2007-03-08 09:16:11 +00:00
parse.h Move the Boolean and ReturnStatus stuff from sprite.h to util.h and 2005-05-13 08:53:00 +00:00
pathnames.h Remove leading underscores from the pathname defines. All identifiers 2005-03-11 13:02:38 +00:00
proc.c Factor out ProcExec() into its own file and rename it to Proc_Exec() for 2005-05-24 15:41:34 +00:00
proc.h Factor out ProcExec() into its own file and rename it to Proc_Exec() for 2005-05-24 15:41:34 +00:00
shell.c Factor out all the .SHELL parsing related stuff into its own file and 2005-05-24 15:30:03 +00:00
shell.h Factor out all the .SHELL parsing related stuff into its own file and 2005-05-24 15:30:03 +00:00
str.c Don't go beyond the provided string when parsing the `\' character. 2006-10-09 19:37:26 +00:00
str.h Make the ArgArray_Init() function visible to the rest of make. 2005-05-23 13:27:52 +00:00
suff.c Get rid of the third argument to Var_Value() the pointer it pointed 2005-05-24 15:58:35 +00:00
suff.h Make paths an explicite datatype instead of using the generic Lst. 2005-03-23 12:56:15 +00:00
targ.c Use the print_flags function to print the OP_ flags of a target. 2005-05-13 13:47:41 +00:00
targ.h Some more easy constification. 2005-02-04 07:51:00 +00:00
util.c Use the print_flags function to print the OP_ flags of a target. 2005-05-13 13:47:41 +00:00
util.h Get rid of the ReturnStatus obscuration that was anyway used only 2005-05-18 06:50:39 +00:00
var.c VarAdd() already does the debug printing, so Var_Set() only needs to do it 2006-07-17 21:05:27 +00:00
var.h The caller of Var_Value() should not change the variable value. Make 2005-05-24 16:05:51 +00:00