diff mbox

EXTRA_CFLAGS when compiling Xen

Message ID 20160217170203.GB23247@char.us.oracle.com (mailing list archive)
State New, archived
Headers show

Commit Message

Konrad Rzeszutek Wilk Feb. 17, 2016, 5:02 p.m. UTC
On Wed, Feb 17, 2016 at 02:09:43PM +0200, Corneliu ZUZU wrote:
> On 2/17/2016 12:34 PM, Jan Beulich wrote:
> >
> >>The reason I need this is to pass '-save-temps' to GCC, I want to inspect
> >>some code
> >>and it would be easier to do that on the preprocessed files.
> >... there's absolutely no need to for a case like this, at least as
> >long as the xen/ subtree is where you want to do this.
> >xen/Rules.mk has rules for what you want (and also for
> >producing the intermediate assembly file), just that you can't
> >achieve this by invoking make from the top level directory -
> >you need to run make directly in xen/ and manually specify
> >the intended target (including leading sub-directories).
> >
> >Jan
> >
> 
> I wouldn't want to needlessly insist, but of course a canonical way to do
> this would be preferred.
> I do see the %.i targets there in Rules.mk invoking the preprocessor, but I
> haven't yet figured how to make those execute.

You are probably running in the problem that XEN_ROOT and BASEDIR is not set.

I usually do:

make -f $(BASEDIR)/Rules.mk -C arch/x86 build_id.o

from xen/xen directory. Thought it does not seem to work for me now. It had
in the past.
Ah,

I also added an specific entry to top root Makefile to make it work for
me (since it has some many env variables):




> 
> Could you detail what make args would activate execution of the %.i targets?
> This is not so important since for now Razvan's suggestion does the trick
> (or adding %.i as a dependency for %.o in Rules.mk),
> but I thought it would be nice for future reference, so only respond when/if
> you have the time/disposition.


> 
> Thanks,
> Corneliu.
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
diff mbox

Patch

diff --git a/xen/Makefile b/xen/Makefile
index 5d98bcb..b5870b1 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -39,8 +39,8 @@  dist: install
 
 build install:: include/config/auto.conf
 
-.PHONY: build install uninstall clean distclean cscope TAGS tags MAP gtags
-build install uninstall debug clean distclean cscope TAGS tags MAP gtags::
+.PHONY: build install uninstall clean distclean cscope TAGS tags MAP gtags custom
+build install uninstall debug clean distclean cscope TAGS tags MAP gtags custom::
 ifneq ($(XEN_TARGET_ARCH),x86_32)
        $(MAKE) -f Rules.mk _$@
 else
@@ -132,6 +132,8 @@  $(TARGET): delete-unfresh-files
        $(MAKE) -f $(BASEDIR)/Rules.mk include/asm-$(TARGET_ARCH)/asm-offsets.h
        $(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) $(TARGET)
 
+_custom:
+       $(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) $(TARGET)
 # drivers/char/console.o contains static banner/compile info. Blow it away.
 # Don't refresh these files during e.g., 'sudo make install'
 .PHONY: delete-unfresh-files