Re: [PATCH] perf: adjust make rules

From: Arnaldo Carvalho de Melo
Date: Wed Mar 14 2012 - 15:23:35 EST


Em Thu, Mar 08, 2012 at 09:29:28AM +0000, Jan Beulich escreveu:
> Add rules to generate pre-processed files (just like are available for
> the normal kernel build), and adjust the rule to create assembly files
> from C ones to produce its output in the output directory rather than
> in the source tree.
>
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>

I'm trying to use it but hit this:

[acme@sandy linux]$ make -C tools/perf/ O=/home/git/build/perf /home/git/build/perf/perf.s
make: Entering directory `/home/git/linux/tools/perf'
CC /home/git/build/perf/perf.s
perf.c: In function âhandle_optionsâ:
perf.c:111: error: âPERF_HTML_PATHâ undeclared (first use in this function)
perf.c:111: error: (Each undeclared identifier is reported only once
perf.c:111: error: for each function it appears in.)
perf.c: At top level:
perf.c:238: error: âPERF_VERSIONâ undeclared here (not in a function)
make: *** [/home/git/build/perf/perf.s] Error 1
make: Leaving directory `/home/git/linux/tools/perf'
[acme@sandy linux]

Do I have to go to tools/perf and do it from there, trying...

[acme@sandy perf]$ make O=/home/git/build/perf /home/git/build/perf/perf.s
CC /home/git/build/perf/perf.s
perf.c: In function âhandle_optionsâ:
perf.c:111: error: âPERF_HTML_PATHâ undeclared (first use in this function)
perf.c:111: error: (Each undeclared identifier is reported only once
perf.c:111: error: for each function it appears in.)
perf.c: At top level:
perf.c:238: error: âPERF_VERSIONâ undeclared here (not in a function)
make: *** [/home/git/build/perf/perf.s] Error 1
[acme@sandy perf]$ make O=/home/git/build/perf perf.s
make: *** No rule to make target `perf.s'. Stop.
[acme@sandy perf]$

Same result, what am I doing wrong?

- Arnaldo

> ---
> tools/perf/Makefile | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> --- 3.3-rc6/tools/perf/Makefile
> +++ 3.3-rc6-perf-make-rules/tools/perf/Makefile
> @@ -706,10 +706,14 @@ $(OUTPUT)perf.o perf.spec \
>
> $(OUTPUT)%.o: %.c $(OUTPUT)PERF-CFLAGS
> $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $<
> +$(OUTPUT)%.i: %.c $(OUTPUT)PERF-CFLAGS
> + $(QUIET_CC)$(CC) -o $@ -E $(ALL_CFLAGS) $<
> $(OUTPUT)%.s: %.c $(OUTPUT)PERF-CFLAGS
> - $(QUIET_CC)$(CC) -S $(ALL_CFLAGS) $<
> + $(QUIET_CC)$(CC) -o $@ -S $(ALL_CFLAGS) $<
> $(OUTPUT)%.o: %.S
> $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $<
> +$(OUTPUT)%.s: %.S
> + $(QUIET_CC)$(CC) -o $@ -E $(ALL_CFLAGS) $<
>
> $(OUTPUT)util/exec_cmd.o: util/exec_cmd.c $(OUTPUT)PERF-CFLAGS
> $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) \
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/