diff --git a/.project b/.project
index ec85128..3280324 100755
--- a/.project
+++ b/.project
@@ -5,7 +5,13 @@
+
+ org.python.pydev.PyDevBuilder
+
+
+
+ org.python.pydev.pythonNature
diff --git a/.pydevproject b/.pydevproject
new file mode 100755
index 0000000..9a31ca6
--- /dev/null
+++ b/.pydevproject
@@ -0,0 +1,5 @@
+
+
+Default
+python 2.7
+
diff --git a/common.py b/common.py
index 3f41e49..33fb003 100644
--- a/common.py
+++ b/common.py
@@ -454,11 +454,11 @@ def configure(name, *confopts, **kwargs):
@recipe('make', 2)
-def make(name, target=None, makefile=None, **makevars):
+def make(name, target=None, makefile=None, threads='-j1', **makevars):
info('running make "%s"', target)
with cwd(path.join('{build}', name)):
- args = ['%s=%s' % item for item in makevars.items()] + ["-j7"]
+ args = ['%s=%s' % item for item in makevars.items()] + [threads]
if target is not None:
args = [target] + args
if makefile is not None:
diff --git a/toolchain-m68k b/toolchain-m68k
index f597255..c318c68 100755
--- a/toolchain-m68k
+++ b/toolchain-m68k
@@ -88,7 +88,7 @@ def install_ndk():
def headers_install():
info('installing ixemul header files')
- copytree('{sources}/{ixemul}/include', '{target}/m68k-amigaos/libnix/include')
+ copytree('{sources}/{ixemul}/include', '{target}/m68k-amigaos/include')
@recipe('tools-install')
@@ -103,7 +103,7 @@ def install_tools():
def install_libamiga():
info('installing libamiga')
- copytree('{sources}/{libamiga}/lib', '{target}/m68k-amigaos/libnix/lib')
+ copytree('{sources}/{libamiga}/lib', '{target}/m68k-amigaos/lib')
@recipe('{clib2}-install')
@@ -290,14 +290,14 @@ def build():
unpack('{m4}')
configure('{m4}', '--prefix={host}')
- make('{m4}')
- make('{m4}', 'install')
+ make('{m4}', threads='-j{numThreads}')
+ make('{m4}', 'install', 'Makefile', threads='-j{numThreads}')
unpack('{gawk}')
update_autotools('{sources}/{gawk}')
configure('{gawk}', '--prefix={host}')
- make('{gawk}')
- make('{gawk}', 'install')
+ make('{gawk}', threads='-j{numThreads}')
+ make('{gawk}', 'install', threads='-j{numThreads}')
unpack('{flex}')
configure('{flex}', '--prefix={host}')
@@ -307,25 +307,25 @@ def build():
unpack('{bison}')
update_autotools('{sources}/{bison}/config')
configure('{bison}', '--prefix={host}')
- make('{bison}')
- make('{bison}', 'install')
+ make('{bison}', threads='-j{numThreads}')
+ make('{bison}', 'install', threads='-j{numThreads}')
unpack('{texinfo}')
update_autotools('{sources}/{texinfo}/build-aux')
configure('{texinfo}', '--prefix={host}')
- make('{texinfo}')
- make('{texinfo}', 'install')
+ make('{texinfo}', threads='-j{numThreads}')
+ make('{texinfo}', 'install', threads='-j{numThreads}')
unpack('{autoconf}')
update_autotools('{sources}/{autoconf}')
configure('{autoconf}', '--prefix={host}')
- make('{autoconf}')
- make('{autoconf}', 'install')
+ make('{autoconf}', threads='-j{numThreads}')
+ make('{autoconf}', 'install', threads='-j{numThreads}')
prepare_target()
unpack('vasm', work_dir='{build}')
- make('vasm', CPU='m68k', SYNTAX='mot')
+ make('vasm', CPU='m68k', SYNTAX='mot', threads='-j{numThreads}')
unpack('vlink', work_dir='{build}')
build_vlink()
@@ -341,14 +341,14 @@ def build():
update_autotools('{submodules}/fd2sfd')
unpack('fd2sfd', work_dir='{build}')
configure('fd2sfd', '--prefix={target}', from_dir='{build}/fd2sfd')
- make('fd2sfd')
- make('fd2sfd', 'install')
+ make('fd2sfd', threads='-j{numThreads}')
+ make('fd2sfd', 'install', threads='-j{numThreads}')
update_autotools('{submodules}/sfdc')
unpack('sfdc')
configure('sfdc', '--prefix={target}', copy_source=True)
- make('sfdc')
- make('sfdc', 'install')
+ make('sfdc', threads='-j{numThreads}')
+ make('sfdc', 'install', threads='-j{numThreads}')
unpack('{NDK}')
patch('{NDK}')
@@ -378,8 +378,8 @@ def build():
'--target=m68k-amigaos',
from_dir='{submodules}/{binutils}')
touch_genfiles('{submodules}/{binutils}')
- make('{binutils}')
- make('{binutils}', 'install')
+ make('{binutils}', threads='-j{numThreads}')
+ make('{binutils}', 'install', threads='-j{numThreads}')
unpack('{ixemul}', top_dir='ixemul')
patch('{ixemul}')
@@ -395,9 +395,9 @@ def build():
'--with-headers={sources}/{ixemul}/include',
from_dir='{submodules}/{gcc}')
touch_genfiles('{submodules}/{gcc}')
- make('{gcc}', 'all-gcc',
+ make('{gcc}', 'all-gcc', threads='-j{numThreads}',
MAKEINFO='makeinfo', CFLAGS_FOR_TARGET='-noixemul')
- make('{gcc}', 'install-gcc',
+ make('{gcc}', 'install-gcc', threads='-j{numThreads}',
MAKEINFO='makeinfo', CFLAGS_FOR_TARGET='-noixemul')
headers_install()
@@ -406,7 +406,7 @@ def build():
install_libamiga()
configure('{libnix}',
- '--prefix={target}/m68k-amigaos/libnix',
+ '--prefix={target}/m68k-amigaos',
'--host=i686-linux-gnu',
'--target=m68k-amigaos',
from_dir='{submodules}/{libnix}')
@@ -416,11 +416,11 @@ def build():
AR='m68k-amigaos-ar',
AS='m68k-amigaos-as',
RANLIB='m68k-amigaos-ranlib',
- LD='m68k-amigaos-ld')
- make('{libnix}', 'install')
+ LD='m68k-amigaos-ld', threads='-j{numThreads}')
+ make('{libnix}', 'install', threads='-j{numThreads}')
copy('{submodules}/{libnix}/sources/headers/stabs.h',
- '{target}/m68k-amigaos/libnix/include')
+ '{target}/m68k-amigaos/include')
unpack('{libm}', top_dir='contrib/libm')
update_autotools('{sources}/{libm}')
@@ -428,21 +428,21 @@ def build():
AR='m68k-amigaos-ar',
RANLIB='m68k-amigaos-ranlib'):
configure('{libm}',
- '--prefix={target}/m68k-amigaos/libnix',
+ '--prefix={target}/m68k-amigaos/lib',
'--host=i686-linux-gnu',
'--target=m68k-amigaos')
- make('{libm}')
- make('{libm}', 'install')
+ make('{libm}', threads='-j{numThreads}')
+ make('{libm}', 'install', threads='-j{numThreads}')
with env(CC='m68k-amigaos-gcc -noixemul',
AR='m68k-amigaos-ar',
RANLIB='m68k-amigaos-ranlib'):
configure('{libdebug}',
- '--prefix={target}/m68k-amigaos/libnix',
+ '--prefix={target}/m68k-amigaos',
'--host=m68k-amigaos',
from_dir='{submodules}/{libdebug}')
- make('{libdebug}')
- make('{libdebug}', 'install')
+ make('{libdebug}', threads='-j{numThreads}')
+ make('{libdebug}', 'install', threads='-j{numThreads}')
unpack('{clib2}', work_dir='{build}', top_dir='library')
make('{clib2}', makefile='GNUmakefile.68k')
@@ -510,8 +510,8 @@ def add_stubs(src):
obj = re.sub(r'\.c$', r'.o', src)
for libdir, cflags in MULTILIB:
- lib = path.join('{target}/m68k-amigaos/libnix/lib',
- libdir, 'libnix/libstubs.a')
+ lib = path.join('{target}/m68k-amigaos/lib',
+ libdir, 'libstubs.a')
info('stubs: "%s" -> "%s"', obj, lib)
cflags = list(cflags) + ['-noixemul', '-c', '-o', obj, src]
execute('m68k-amigaos-gcc', '-Wall', '-O3', '-fomit-frame-pointer', *cflags)
@@ -523,7 +523,7 @@ def add_lib(src, libname):
obj = re.sub(r'\.a$', r'.o', libname)
for libdir, cflags in MULTILIB:
- lib = path.join('{target}/m68k-amigaos/libnix/lib', libdir, libname)
+ lib = path.join('{target}/m68k-amigaos/lib', libdir, libname)
info('lib: "%s" -> "%s"', obj, lib)
cflags = list(cflags) + ['-noixemul', '-c', '-o', obj, src]
execute('m68k-amigaos-gcc', '-Wall', '-O3', '-fomit-frame-pointer', *cflags)
@@ -662,17 +662,20 @@ if __name__ == "__main__":
default='build', help='perform action')
parser.add_argument('args', metavar='ARGS', type=str, nargs='*',
help='action arguments')
- parser.add_argument('--binutils', choices=['2.9.1', '2.14'], default='2.9.1',
+ parser.add_argument('--binutils', choices=['2.9.1', '2.14'], default='2.14',
help='desired binutils version')
- parser.add_argument('--gcc', choices=['2.95.3', '3.4.6', '6'], default='2.95.3',
+ parser.add_argument('--gcc', choices=['2.95.3', '3.4.6', '6'], default='6',
help='desired gcc version')
parser.add_argument('--prefix', type=str, default=None,
help='installation directory')
+ parser.add_argument('--threads', type=str, default='1',
+ help='number of threads for make')
args = parser.parse_args()
setvar(top=path.abspath(path.dirname(sys.argv[0])),
binutils_ver=args.binutils,
- gcc_ver=args.gcc)
+ gcc_ver=args.gcc,
+ numThreads=args.threads)
setvar(m4='m4-1.4.17',
gawk='gawk-3.1.8',