1) Run make config
2) Run make dep
3) Now gzip all the .c files using the command:
find . -name \*.c -print | xargs gzip
4) Add the following rule to the Rules.make file:
#
# Common rules
#
%.c: %.c.gz
gunzip $<
Make sure you use a TAB character in front of the gunzip command,
not spaces!!!
5) Run make zImage |& tee log
This will build you a kernel, gunzipping all the files that are needed.
The unnecessary files will remain gzipped. You can either leave them like
this, or remove them with the command:
find . -name \*.c.gz -print | xargs rm -f
I have just tested this to cross compile a Linux/Alpha kernel. I have not
tried to compile a Linux/x86 kernel like this, but the only problem I can
see is if there is a Makefile under arch/i386 which does not include
Rules.make. In this case you can gunzip the necessary files by hand.
You should be able to figure out what they are from the log file produced
in step 5 above.
Jim
PS For some reason the rule:
%.c: %.gz
gunzip $<
does not work. Does anyone know why?