OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [newlib/] [mpw-build.in] - Rev 40

Go to most recent revision | Compare with Previous | Blame | View Log

# Top-level script fragment to build everything for MPW.

Set savedir "`Directory`"

#Set Echo 1

Set ThisScript "{0}"

Set objdir ":"

Set verify 0

Set BuildTarget "none"

# Parse arguments.

Loop
        Break If {#} == 0
                If "{BuildTarget}" =~ /none/
                        Set BuildTarget "{1}"
                Else
                        Echo Only one build target allowed, ignoring "{1}"
                End If
        Shift 1
End Loop

If "{BuildTarget}" =~ /none/
        Set BuildTarget "all"
End If

If {verify} == 1
        Echo "#" Doing "{ThisScript}" "{BuildTarget}" in "`Directory`" ... 
End If

Set ranmake 0

If "`Exists Makefile`" != ""
        Echo "Set Echo 1" >{BuildTarget}.makeout
        Make -f Makefile {BuildTarget} >>{BuildTarget}.makeout
        {BuildTarget}.makeout
        Delete {BuildTarget}.makeout
        Set ranmake 1
End If

If "`Exists Makefile.PPC`" != ""
        Echo "Set Echo 1" >{BuildTarget}.makeout.ppc
        Make -f Makefile.PPC {BuildTarget} >>{BuildTarget}.makeout.ppc
        {BuildTarget}.makeout.ppc
        Delete {BuildTarget}.makeout.ppc
        Set ranmake 1
End If

If {ranmake} == 1
        Exit
End If

# Dispatch on various pseudo-targets.

If "{BuildTarget}" =~ /all/
        Echo Started `Date`
        "{ThisScript}" all-gcc
        "{ThisScript}" all-gdb
        Echo Finished `Date`
Else If "{BuildTarget}" =~ /all-libiberty/
        "{ThisScript}" do-libiberty
Else If "{BuildTarget}" =~ /all-bfd/
        "{ThisScript}" do-bfd
Else If "{BuildTarget}" =~ /all-opcodes/
        "{ThisScript}" do-opcodes
Else If "{BuildTarget}" =~ /all-byacc/
        "{ThisScript}" do-byacc
Else If "{BuildTarget}" =~ /all-flex/
        "{ThisScript}" all-libiberty
        "{ThisScript}" do-flex
Else If "{BuildTarget}" =~ /all-binutils/
        "{ThisScript}" all-libiberty
        "{ThisScript}" all-bfd
        "{ThisScript}" all-opcodes
        "{ThisScript}" do-binutils
Else If "{BuildTarget}" =~ /all-gas/
        "{ThisScript}" all-libiberty
        "{ThisScript}" all-bfd
        "{ThisScript}" all-opcodes
        "{ThisScript}" do-gas
Else If "{BuildTarget}" =~ /all-gcc/
        "{ThisScript}" all-libiberty
        "{ThisScript}" all-gas
        "{ThisScript}" all-binutils
        "{ThisScript}" all-ld
        "{ThisScript}" do-gcc
Else If "{BuildTarget}" =~ /all-gdb/
        "{ThisScript}" all-libiberty
        "{ThisScript}" all-bfd
        "{ThisScript}" all-opcodes
        "{ThisScript}" do-gdb
Else If "{BuildTarget}" =~ /all-grez/
        "{ThisScript}" all-libiberty
        "{ThisScript}" all-bfd
        "{ThisScript}" do-grez
Else If "{BuildTarget}" =~ /all-ld/
        "{ThisScript}" all-libiberty
        "{ThisScript}" all-bfd
        "{ThisScript}" all-opcodes
        "{ThisScript}" do-ld
Else If "{BuildTarget}" =~ /do-byacc/
        SetDirectory :byacc:
        ::mpw-build all
Else If "{BuildTarget}" =~ /do-flex/
        SetDirectory :flex:
        ::mpw-build _bootstrap
        ::mpw-build all
Else If "{BuildTarget}" =~ /do-bfd/
        SetDirectory :bfd:
        ::mpw-build all
Else If "{BuildTarget}" =~ /do-libiberty/
        SetDirectory :libiberty:
        ::mpw-build all
Else If "{BuildTarget}" =~ /do-opcodes/
        SetDirectory :opcodes:
        ::mpw-build all
Else If "{BuildTarget}" =~ /do-binutils/
        SetDirectory :binutils:
        ::mpw-build stamps
        ::mpw-build all
Else If "{BuildTarget}" =~ /do-gas/
        SetDirectory :gas:
        ::mpw-build stamps
        ::mpw-build all
Else If "{BuildTarget}" =~ /do-gcc/
        SetDirectory :gcc:
        :mpw-build all
Else If "{BuildTarget}" =~ /do-gdb/
        SetDirectory :gdb:
        ::mpw-build all
Else If "{BuildTarget}" =~ /do-grez/
        SetDirectory :grez:
        ::mpw-build all
Else If "{BuildTarget}" =~ /do-ld/
        SetDirectory :ld:
        ::mpw-build all
Else If "{BuildTarget}" =~ /do-newlib/
        SetDirectory :newlib:
        ::mpw-build all
Else If "{BuildTarget}" =~ /install/
        "{ThisScript}" install-only-top
        "{ThisScript}" install-binutils
        "{ThisScript}" install-gas
        "{ThisScript}" install-gcc
        "{ThisScript}" install-ld
        "{ThisScript}" install-gdb
Else If "{BuildTarget}" =~ /install-binutils/
        SetDirectory :binutils:
        ::mpw-build install
Else If "{BuildTarget}" =~ /install-gas/
        SetDirectory :gas:
        ::mpw-build install
Else If "{BuildTarget}" =~ /install-gcc/
        SetDirectory :gcc:
        :mpw-build install
Else If "{BuildTarget}" =~ /install-gdb/
        SetDirectory :gdb:
        ::mpw-build install
Else If "{BuildTarget}" =~ /install-grez/
        SetDirectory :grez:
        ::mpw-build install
Else If "{BuildTarget}" =~ /install-ld/
        SetDirectory :ld:
        ::mpw-build install
Else If "{BuildTarget}" =~ /install-only/
        "{ThisScript}" install-only-top
        "{ThisScript}" install-only-binutils
        "{ThisScript}" install-only-gas
        "{ThisScript}" install-only-gcc
        "{ThisScript}" install-only-gdb
        "{ThisScript}" install-only-ld
Else If "{BuildTarget}" =~ /install-only-binutils/
        SetDirectory :binutils:
        ::mpw-build install-only
Else If "{BuildTarget}" =~ /install-only-gas/
        SetDirectory :gas:
        ::mpw-build install-only
Else If "{BuildTarget}" =~ /install-only-gcc/
        SetDirectory :gcc:
        :mpw-build install-only
Else If "{BuildTarget}" =~ /install-only-gdb/
        SetDirectory :gdb:
        ::mpw-build install-only
Else If "{BuildTarget}" =~ /install-only-grez/
        SetDirectory :grez:
        ::mpw-build install-only
Else If "{BuildTarget}" =~ /install-only-ld/
        SetDirectory :ld:
        ::mpw-build install-only
Else If "{BuildTarget}" =~ /install-only-top/
        NewFolderRecursive "{prefix}"
        If "{prefix}" != "`Directory`"
                Duplicate -y 'Read Me for MPW' "{prefix}"'Read Me for MPW'
                Duplicate -y Install "{prefix}"Install
        End If
Else
        Echo {BuildTarget} not understood, ignoring
End If

SetDirectory "{savedir}"

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.