[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Axiom-developer] binary naming scheme
From: |
daly |
Subject: |
[Axiom-developer] binary naming scheme |
Date: |
Mon, 25 Jun 2007 16:09:06 -0500 |
There are 4 primary directories: src, int, obj, and mnt.
They can be located anywhere (including out of source builds)
The int directory contains system-independent, machine-generated code.
The obj directory contains system-dependent, machine-generated code.
The mnt directory contains the final ship tree. All else can be removed.
The obj and mnt directories contain a subdirectory that specifies the
system target. This target name is taken from the basename of the AXIOM
variable. Thus
AXIOM=`pwd`/mnt/linux
creates
obj/linux
mnt/linux
but
AXIOM=`pwd`/mnt/fedora5
creates
obj/fedora5
mnt/fedora5
Thus you can build for multiple target machines using the same src and int
subdirectories. The usual path was to use NFS to cross-mount the sources
and then use make to build on the target machine. Using this method it is
possible to build on multiple machines with different architecture in parallel.
This was heavily used when builds took 3 weeks.
The basename (linux, fedora5, whatever) selects a chunk out of the top
level Makefile.pamphlet. That chunk is used to create Makefile.whatever
which directs the build per architecture. Thus
AXIOM=`pwd`/mnt/linux
selects and creates
Makefile ->
Makefile.pamphlet (select linux chunk) ->
Makefile.linux
and
AXIOM=`pwd`/mnt/fedora5
selects and creates
Makefile ->
Makefile.pamphlet (select fedora5 chunk) ->
Makefile.fedora5
You can follow this scheme to create compiler-name-version-os-arch
AXIOM=`pwd`/mnt/compiler-name-version-os-arch
which selects the chunk and creates the makefile:
Makefile ->
Makefile.pamphlet (select compiler-name-version-os-arch chunk) ->
Makefile.compiler-name-version-os-arch
which creates the directories:
int
obj/compiler-name-version-os-arch
mnt/compiler-name-version-os-arch
where
obj/compiler-name-version-os-arch contains machine-generated binaries
mnt/compiler-name-version-os-arch contains a ship image for that arch
Tim
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Axiom-developer] binary naming scheme,
daly <=