freebsd-skq/usr.bin/make
harti 800d083cdf Almost complete rewrite of the archive code (except for the Makefile parsing
part). Archive handling was broken at least since the move from BSD ar/ranlib
to GNU binutils because of the different archive format. This rewrite fixes
this by making make to carry around the defines for all formats (it supports)
so it can support all of them independent of the actually used one. The
supported formats are: traditional BSD (this seems to come from V7 at least,
short names only and __.SYMDEF), BSD4.4 (long names with #1/ and __.SYMDEF)
and SysV (extra name table and //). The only format not supported are broken
traditional archives where the member names are truncated to 15 characters.

Errors in the archive are not ignored anymore, but cause make to stop with
an error message. The command line option -A causes these errors to become
non-fatal. This is almost compatible with previous usage except for the
error message printed in any case.

Use a type-safe intrusive list for the archive cache.

Reviewed by:	Max Okumoto <okumoto@ucsd.edu> (without new error handling)
2005-03-31 11:35:56 +00:00
..
PSD.doc Remove another unused Makefile. 2003-02-03 04:15:53 +00:00
arch.c Almost complete rewrite of the archive code (except for the Makefile parsing 2005-03-31 11:35:56 +00:00
arch.h Almost complete rewrite of the archive code (except for the Makefile parsing 2005-03-31 11:35:56 +00:00
buf.c Move the MAX macro to a util.h so it becomes usable in other modules. 2005-03-31 11:12:45 +00:00
buf.h Two new functions: Buf_Data() returns a reference to the data in 2005-03-22 07:42:51 +00:00
compat.c Replace Lst_ForEach by LST_FOREACH. 2005-03-16 16:02:09 +00:00
compat.h Replace the calls to Lst_ForEach with the new LST_FOREACH macro and 2005-02-24 10:23:31 +00:00
cond.c Make the structure for handling the input stack local to the parse 2005-03-30 15:18:58 +00:00
cond.h Make the structure for handling the input stack local to the parse 2005-03-30 15:18:58 +00:00
config.h Clean up include files and file including. Split nonints.h into pieces 2005-02-01 10:50:37 +00:00
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 Simplify buffer access by using Buf_Data() and Buf_Peel() where 2005-03-22 07:50:40 +00:00
for.h Clean up include files and file including. Split nonints.h into pieces 2005-02-01 10:50:37 +00:00
globals.h Make the structure for handling the input stack local to the parse 2005-03-30 15:18:58 +00:00
GNode.h Remove the leading underscore from structure tags. All identifiers 2005-03-11 12:57:25 +00:00
hash.c Clean up include files and file including. Split nonints.h into pieces 2005-02-01 10:50:37 +00:00
hash.h Clean up include files and file including. Split nonints.h into pieces 2005-02-01 10:50:37 +00:00
job.c Simplify buffer access by using Buf_Data() and Buf_Peel() where 2005-03-22 07:50:40 +00:00
job.h Clean up include files and file including. Split nonints.h into pieces 2005-02-01 10:50:37 +00:00
lst.c Remove Lst_Find() and Lst_FindFrom() now that they aren't needed anymore. 2005-03-22 12:40:24 +00:00
lst.h Remove debugging code that crept in in the last commit. 2005-03-22 12:52:00 +00:00
main.c Almost complete rewrite of the archive code (except for the Makefile parsing 2005-03-31 11:35:56 +00:00
make.1 Expand *n't contractions. 2005-02-13 22:25:33 +00:00
make.c Replace another bunch of Lst_ForEachs by LST_FOREACHs and simplify code. 2005-03-16 12:22:15 +00:00
make.h Clean up include files and file including. Split nonints.h into pieces 2005-02-01 10:50:37 +00:00
Makefile Ups. Revert the last commits. These have been committed by accident. 2005-03-15 15:10:51 +00:00
Makefile.dist Move all the remaining list functions into one C-file and remove 2005-02-01 15:28:41 +00:00
nonints.h Introduce Buf_StripNewLines() and use it where appropriate. 2005-02-07 11:27:47 +00:00
parse.c Make the structure for handling the input stack local to the parse 2005-03-30 15:18:58 +00:00
parse.h Make the structure for handling the input stack local to the parse 2005-03-30 15:18:58 +00:00
pathnames.h Remove leading underscores from the pathname defines. All identifiers 2005-03-11 13:02:38 +00:00
sprite.h Clean up include files and file including. Split nonints.h into pieces 2005-02-01 10:50:37 +00:00
str.c Constify the input argument to brk_string. 2005-03-07 16:10:39 +00:00
str.h Constify the input argument to brk_string. 2005-03-07 16:10:39 +00:00
suff.c Make paths an explicite datatype instead of using the generic Lst. 2005-03-23 12:56:15 +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 Get rid of a number of Lst_ForEach calls in favour of LST_FOREACH 2005-03-15 14:28:39 +00:00
targ.h Some more easy constification. 2005-02-04 07:51:00 +00:00
util.c Simplify the print routines by using LST_FOREACH instead of Lst_ForEach 2005-03-11 13:24:08 +00:00
util.h Move the MAX macro to a util.h so it becomes usable in other modules. 2005-03-31 11:12:45 +00:00
var_modify.c Return a Buf object from VarGetPattern() instead of a char * and a size_t. 2005-03-22 08:09:43 +00:00
var.c Fix a bug introduced in a previous commit: ParseModifier() consumes 2005-03-30 15:14:22 +00:00
var.h Return a Buf object from VarGetPattern() instead of a char * and a size_t. 2005-03-22 08:09:43 +00:00