[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] mini-os: New makefile structure for different architectures
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 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |