Re: [patch] 2.4.19-pre6 standardize {aic7xxx,aicasm}/Makefile

From: Keith Owens (kaos@ocs.com.au)
Date: Wed Apr 10 2002 - 19:04:47 EST


On Wed, 10 Apr 2002 21:52:57 +0200,
Roman Zippel <zippel@linux-m68k.org> wrote:
>Keith Owens wrote:
>
>> foo_files := $(srcfile foo-gen) $(srcfile foo.out_shipped)
>> $(objfile foo_sum.d): $(srcfile foo_sum) $(foo_files)
>
>Why don't we use a script like this:
>
>set -e
>src=$1
>dst=$2
>shift 2
>
>test -f $dst && tail -1 $dst | sed 's,/\* \(.*\) \*/,\1,' | md5sum -c &&
>touch $dst && exit 0
>echo "$@"
>"$@"
>echo "/* $(md5sum $src) */" >> $dst
>
>Then just call it with:
> <script> <src> <dst> <build command>
>
>This is much simpler and also it also gets rid of these small checksum
>files.

There can be multiple destination files, e.g. running yacc produces a
.c and a .h file.

The generated file is not necessarily .[ch], wrapping the md5sum in
/* */ may break some generated files. AFAIK all currently generated
files are .[ch] but I do not want to restrict future builds.

The output can change without the inputs changing. For example, the
distributor might find a bug in the tool that generates the file,
install a new version of the tool and regenerate. The inputs have not
changed but the output has. To detect this, the md5sum is across all
files, including the outputs, which makes it impossible to store the
sum in one of the output files.

Unlikely I know, but I want 100% coverage on these special cases. 90%
reliability on a kernel build was acceptable when everybody was an
expert, but not now that the population of kernel builders is in the
tens of thousands. There are far too many build problems where the
response is "make mrproper", because of the special cases that fail.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Apr 15 2002 - 22:00:17 EST