2006-12-04 09:24:54

by Chuck Ebbert

[permalink] [raw]
Subject: makei: shell script for building .i files

On Fri, 24 Nov 2006 22:23:06 +0100, Willy Tarreau wrote:

> BTW, has anyone a good idea on how to make gcc dump the preprocessed files
> for everything it builds ? I mean, just by changing some variables in the
> Makefile.

I came up with this. Separate output directory option is untested.
It's not quite what you wanted but this is as close as I could get.

#!/bin/bash
#
# scripts/makei
#
# Make .i files in Linux kernel tree. You must first build a
# working kernel so this script knows which files to make.
#
# usage:
# scripts/makei [subdir]
#
# Use the optional subdir parameter to build .i files
# for just part of the source tree.
#
# Set the shell variables MAKE and OBJDIR if necessary.
#
# Examples
# If:
# Your output dir is ~/build,
# you are building the UML arch
# and you only want to build .i files in drivers/base/
# Then use:
# OBJDIR=~/build MAKE='make O=~/build ARCH=um' scripts/makei drivers/base

OBJDIR=${OBJDIR:=.}
MAKE=${MAKE:=make}

OBJDIR=${OBJDIR%/}/

find $OBJDIR$1 -type f -name \*.o |
while read fullname
do
fullname=${fullname#$OBJDIR}
name=${fullname%.o}
[ -f $name.c -o -f $name.S ] && $MAKE $name.i
done
--
Chuck
"Even supernovas have their duller moments."


2006-12-05 18:55:56

by Jan Engelhardt

[permalink] [raw]
Subject: Re: makei: shell script for building .i files


>#!/bin/bash
>#
># scripts/makei
>#
># Make .i files in Linux kernel tree. You must first build a
># working kernel so this script knows which files to make.

Would -fsave-temps of gcc do the same? (Half the answer: no, it saves
the temp files in $KSRC rather than $O)


-`J'
--