[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] EXTRA_CFLAGS when compiling Xen



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):

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



> 
> 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@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.