WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH] mini-os: New makefile structure for different archit

To: Grzegorz Milos <gm281@xxxxxxxxx>
Subject: [Xen-devel] [PATCH] mini-os: New makefile structure for different architectures
From: Dietmar Hahn <dietmar.hahn@xxxxxxxxxxxxxxxxxxx>
Date: Mon, 27 Nov 2006 13:56:57 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Mon, 27 Nov 2006 04:57:09 -0800
Domainkey-signature: s=s768; d=fujitsu-siemens.com; c=nofws; q=dns; b=JbyLiuene7Nf0QJqf+6jATG7QaSjBsJZ1HiFlwF2uU9hdZBJqozKe9iTSNSGbdlacU7qed9tUSLb0tYO7s8HeXa0Tl7btIKYoRT+7ZyupPewSg0HCiEgGA1Dn1cxRfE+;
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <4564CDA0.70600@xxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <200611070810.36991.dietmar.hahn@xxxxxxxxxxxxxxxxxxx> <200611220930.14765.dietmar.hahn@xxxxxxxxxxxxxxxxxxx> <4564CDA0.70600@xxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: KMail/1.9.5
Hi Gregor,

> Yes, having Makefiles in each subdirectory is the way to go. The only
> reason we have one is that historically everything lived in mini-os

I tried a complete rewrite of the make structure for mini-os to get better 
support for different architectures (for me ia64).
Please have a look at it and give your comments. It's really needed to get 
publish the ia64 mini-os.
Thanks.

Dietmar.


Following structure:
 mini-os/Makefile   - common makefile.
 mini-os/mini-os.mk - common makerules.
 arch/x86/Makefile  - x86 family special makefile
 arch/x86/arch.mk   - x86 family special make rules
 arch/ia64/Makefile - ia64 family special makefile
 arch/ia64/arch.mk  - ia64 family special make rules

On start of make (with common makefile) tries to extract the correct 
architecture and sets up (and exports) some variables.
TARGET_ARCH     - x86_32 or x86_64 or ia64 or ...
TARGET_ARCH_FAM - x86 (for x86_32, ...) or ia64 or ...
TARGET_ARCH_DIR - arch/x86 or arch/ia64 or ...
MINI-OS_ROOT    - The complete path to mini-os directory.

It includes the architecture specific arch.mk and mini-os.mk
With both the make flags are built.

It tries to build libminios.a from
mini-os/*.c
console/*.c
xenbus/*.c
This is done like in the old make structure.

It goes to the arch/... directory and starts the special architecture 
Makefile, which must build the architecture specific library (e.g. 
libx86_32.a or libia64.a)
This Makefile includes the architecture special makerules file arch.mk and the 
global rule file ../../mini-os.mk 

All architecture specific files are moved to the arch/... directory. This 
includes the linker script minios-*.lds and the assembler file with the 
_start function (e.g. x86_32.S). In the new make structure this file is 
handled separatly in the makerules to get it right on linking (see 
HEAD_ARCH_OBJ and HEAD_ARCH in minios.mk).


Attachment: mini-os_make.patch
Description: Text Data

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [PATCH] mini-os: New makefile structure for different architectures, Dietmar Hahn <=