summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2003-09-02 16:41:50 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2003-09-02 16:41:50 +0000
commit087a6c86f55b8ddbd6a5bc1961e28a044225475f (patch)
tree5c71ad71a2d40b73f01790d14c082780c9418b3e /scripts
parent2003-08-28 Ralf Corsepius <corsepiu@faw.uni-ulm.de> (diff)
downloadrtems-087a6c86f55b8ddbd6a5bc1961e28a044225475f.tar.bz2
2003-09-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am, configure.ac, autotools/autoconf-rtems.spec.in, autotools/automake-rtems.spec.in, binutils/Makefile.am, binutils/base-binutils.add, binutils/binutils.add, binutils/mkspec.in, binutils/target-binutils.add, common/common.add.in, cpukit/Makefile.am, gcc3newlib/Makefile.am, gcc3newlib/base-g77.add, gcc3newlib/base-gcc.add, gcc3newlib/base-gcj.add, gcc3newlib/base-gnat.add, gcc3newlib/gccnewlib.add, gcc3newlib/mkspec.in, gcc3newlib/target-c++.add, gcc3newlib/target-g77.add, gcc3newlib/target-gcc.add, gcc3newlib/target-gcj.add, gcc3newlib/target-gnat.add, gcc3newlib/target-objc.add, gccnewlib/Makefile.am, gdb/Makefile.am, rtems/Makefile.am, rtemsdoc/Makefile.am: Merger from rtems-4-6-branch. * common/common.am: New.
Diffstat (limited to 'scripts')
-rw-r--r--scripts/ChangeLog23
-rw-r--r--scripts/Makefile.am6
-rw-r--r--scripts/autotools/autoconf-rtems.spec.in4
-rw-r--r--scripts/autotools/automake-rtems.spec.in6
-rw-r--r--scripts/binutils/Makefile.am27
-rw-r--r--scripts/binutils/base-binutils.add14
-rw-r--r--scripts/binutils/binutils.add17
-rw-r--r--scripts/binutils/mkspec.in2
-rw-r--r--scripts/binutils/target-binutils.add67
-rw-r--r--scripts/common/common.add.in12
-rw-r--r--scripts/common/common.am4
-rw-r--r--scripts/configure.ac15
-rw-r--r--scripts/cpukit/Makefile.am1
-rw-r--r--scripts/gcc3newlib/Makefile.am2
-rw-r--r--scripts/gcc3newlib/base-g77.add13
-rw-r--r--scripts/gcc3newlib/base-gcc.add15
-rw-r--r--scripts/gcc3newlib/base-gcj.add11
-rw-r--r--scripts/gcc3newlib/base-gnat.add9
-rw-r--r--scripts/gcc3newlib/gccnewlib.add39
-rw-r--r--scripts/gcc3newlib/mkspec.in2
-rw-r--r--scripts/gcc3newlib/target-c++.add13
-rw-r--r--scripts/gcc3newlib/target-g77.add11
-rw-r--r--scripts/gcc3newlib/target-gcc.add11
-rw-r--r--scripts/gcc3newlib/target-gcj.add11
-rw-r--r--scripts/gcc3newlib/target-gnat.add12
-rw-r--r--scripts/gcc3newlib/target-objc.add11
-rw-r--r--scripts/gccnewlib/Makefile.am1
-rw-r--r--scripts/gdb/Makefile.am2
-rw-r--r--scripts/rtems/Makefile.am1
-rw-r--r--scripts/rtemsdoc/Makefile.am2
30 files changed, 218 insertions, 146 deletions
diff --git a/scripts/ChangeLog b/scripts/ChangeLog
index ca1485fff5..29292ac78d 100644
--- a/scripts/ChangeLog
+++ b/scripts/ChangeLog
@@ -1,3 +1,26 @@
+2003-09-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * Makefile.am, configure.ac,
+ autotools/autoconf-rtems.spec.in, autotools/automake-rtems.spec.in,
+ binutils/Makefile.am, binutils/base-binutils.add,
+ binutils/binutils.add, binutils/mkspec.in,
+ binutils/target-binutils.add,
+ common/common.add.in,
+ cpukit/Makefile.am,
+ gcc3newlib/Makefile.am, gcc3newlib/base-g77.add,
+ gcc3newlib/base-gcc.add, gcc3newlib/base-gcj.add,
+ gcc3newlib/base-gnat.add, gcc3newlib/gccnewlib.add,
+ gcc3newlib/mkspec.in, gcc3newlib/target-c++.add,
+ gcc3newlib/target-g77.add, gcc3newlib/target-gcc.add,
+ gcc3newlib/target-gcj.add, gcc3newlib/target-gnat.add,
+ gcc3newlib/target-objc.add,
+ gccnewlib/Makefile.am,
+ gdb/Makefile.am,
+ rtems/Makefile.am,
+ rtemsdoc/Makefile.am:
+ Merger from rtems-4-6-branch.
+ * common/common.am: New.
+
2003-08-23 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* common/common.add.in: s/www.oarcorp.com/www.rtems.com/.
diff --git a/scripts/Makefile.am b/scripts/Makefile.am
index d5226922a6..751f50a970 100644
--- a/scripts/Makefile.am
+++ b/scripts/Makefile.am
@@ -10,13 +10,11 @@ SUBDIRS += rtemsdoc
noinst_SCRIPTS = setup buildall buildalltar mkbspspec \
mkgccnewlibspec mkrpms mkspec
-TEMPLATES =
-
-noinst_DATA = setup.def $(TEMPLATES)
+noinst_DATA = setup.def
EXTRA_DIST = $(noinst_DATA) $(noinst_SCRIPTS)
-CONFIGURE_DEPENDENCIES = setup.cache
+CONFIG_STATUS_DEPENDENCIES = setup.cache
setup.cache: setup.def
cp setup.def $@
diff --git a/scripts/autotools/autoconf-rtems.spec.in b/scripts/autotools/autoconf-rtems.spec.in
index b37a5f7db6..6e81bab2af 100644
--- a/scripts/autotools/autoconf-rtems.spec.in
+++ b/scripts/autotools/autoconf-rtems.spec.in
@@ -10,7 +10,7 @@
%define _name autoconf
%if "%{_prefix}" != "/usr"
-%define name %{_name}-rtems
+%define name @rpmprefix@%{_name}-rtems
%define _infodir %{_prefix}/info
%define _mandir %{_prefix}/man
%else
@@ -24,7 +24,7 @@ Packager: Ralf Corsepius <corsepiu@faw.uni-ulm.de>
Copyright: GPL
URL: http://www.gnu.org/software/autoconf
-Group: rtems
+Group: @rpmgroup@
Autoreqprov: on
Version: %{rpmvers}
Release: 1
diff --git a/scripts/autotools/automake-rtems.spec.in b/scripts/autotools/automake-rtems.spec.in
index 1bc1d000ba..498fc0b177 100644
--- a/scripts/autotools/automake-rtems.spec.in
+++ b/scripts/autotools/automake-rtems.spec.in
@@ -11,8 +11,8 @@
%define _name automake
%if "%{_prefix}" != "/usr"
-%define name %{_name}-rtems
-%define requirements autoconf-rtems >= 2.54
+%define name @rpmprefix@%{_name}-rtems
+%define requirements @rpmprefix@autoconf-rtems >= 2.54
%define _infodir %{_prefix}/info
%define _mandir %{_prefix}/man
%else
@@ -25,7 +25,7 @@ Name: %{name}
Packager: Ralf Corsepius <corsepiu@faw.uni-ulm.de>
Copyright: GPL
-Group: rtems
+Group: @rpmgroup@
Autoreqprov: on
Version: %{rpmvers}
Release: 1
diff --git a/scripts/binutils/Makefile.am b/scripts/binutils/Makefile.am
index aad90027a9..9953111019 100644
--- a/scripts/binutils/Makefile.am
+++ b/scripts/binutils/Makefile.am
@@ -2,6 +2,7 @@
## $Id$
##
+include $(top_srcdir)/common/common.am
MKBINUTILSSPEC = $(SHELL) ./mkspec
@@ -13,61 +14,67 @@ SUBPACKAGES += base-binutils.add target-binutils.add
binutils.spec.in: $(SUBPACKAGES)
cat $^ > $@
CLEANFILES = binutils.spec.in
+RPM_SPECS_DATA =
MKBINUTILSSPEC_DEPS = mkspec binutils.spec.in \
$(top_builddir)/setup.cache
arm-rtems-$(BINUTILSVERS).spec: $(MKBINUTILSSPEC_DEPS)
$(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache arm-rtems > $@
+RPM_SPECS_DATA += arm-rtems-$(BINUTILSVERS).spec
c4x-rtems-$(BINUTILSVERS).spec: $(MKBINUTILSSPEC_DEPS)
$(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache c4x-rtems > $@
+RPM_SPECS_DATA += c4x-rtems-$(BINUTILSVERS).spec
h8300-rtems-$(BINUTILSVERS).spec: $(MKBINUTILSSPEC_DEPS)
$(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache h8300-rtems > $@
+RPM_SPECS_DATA += h8300-rtems-$(BINUTILSVERS).spec
hppa1.1-rtems-$(BINUTILSVERS).spec: $(MKBINUTILSSPEC_DEPS)
$(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache hppa1.1-rtems > $@
+RPM_SPECS_DATA += hppa1.1-rtems-$(BINUTILSVERS).spec
i386-rtems-$(BINUTILSVERS).spec: $(MKBINUTILSSPEC_DEPS)
$(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache i386-rtems > $@
+RPM_SPECS_DATA += i386-rtems-$(BINUTILSVERS).spec
i960-rtems-$(BINUTILSVERS).spec: $(MKBINUTILSSPEC_DEPS)
$(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache i960-rtems > $@
+RPM_SPECS_DATA += i960-rtems-$(BINUTILSVERS).spec
m68k-rtems-$(BINUTILSVERS).spec: $(MKBINUTILSSPEC_DEPS)
$(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache m68k-rtems > $@
+RPM_SPECS_DATA += m68k-rtems-$(BINUTILSVERS).spec
mips64orion-rtems-$(BINUTILSVERS).spec: $(MKBINUTILSSPEC_DEPS)
$(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache mips64orion-rtems > $@
+RPM_SPECS_DATA += mips64orion-rtems-$(BINUTILSVERS).spec
+
mips-rtems-$(BINUTILSVERS).spec: $(MKBINUTILSSPEC_DEPS)
$(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache mips-rtems > $@
+RPM_SPECS_DATA += mips-rtems-$(BINUTILSVERS).spec
or32-rtems-$(BINUTILSVERS).spec: $(MKBINUTILSSPEC_DEPS)
$(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache or32-rtems > $@
+RPM_SPECS_DATA += or32-rtems-$(BINUTILSVERS).spec
powerpc-rtems-$(BINUTILSVERS).spec: $(MKBINUTILSSPEC_DEPS)
$(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache powerpc-rtems > $@
+RPM_SPECS_DATA += powerpc-rtems-$(BINUTILSVERS).spec
sh-rtems-$(BINUTILSVERS).spec: $(MKBINUTILSSPEC_DEPS)
$(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache sh-rtems > $@
+RPM_SPECS_DATA += sh-rtems-$(BINUTILSVERS).spec
sh-rtemself-$(BINUTILSVERS).spec: $(MKBINUTILSSPEC_DEPS)
$(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache sh-rtemself > $@
+RPM_SPECS_DATA += sh-rtemself-$(BINUTILSVERS).spec
sparc-rtems-$(BINUTILSVERS).spec: $(MKBINUTILSSPEC_DEPS)
$(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache sparc-rtems > $@
+RPM_SPECS_DATA += sparc-rtems-$(BINUTILSVERS).spec
-RPM_SPECS_DATA = \
- arm-rtems-$(BINUTILSVERS).spec \
- c4x-rtems-$(BINUTILSVERS).spec h8300-rtems-$(BINUTILSVERS).spec \
- hppa1.1-rtems-$(BINUTILSVERS).spec \
- i386-rtems-$(BINUTILSVERS).spec i960-rtems-$(BINUTILSVERS).spec \
- m68k-rtems-$(BINUTILSVERS).spec \
- mips-rtems-$(BINUTILSVERS).spec mips64orion-rtems-$(BINUTILSVERS).spec \
- or32-rtems-$(BINUTILSVERS).spec \
- powerpc-rtems-$(BINUTILSVERS).spec sh-rtems-$(BINUTILSVERS).spec \
- sh-rtemself-$(BINUTILSVERS).spec sparc-rtems-$(BINUTILSVERS).spec
CLEANFILES += $(RPM_SPECS_DATA)
EXTRA_DIST = $(SUBPACKAGES)
diff --git a/scripts/binutils/base-binutils.add b/scripts/binutils/base-binutils.add
index c354e8219d..21644618a2 100644
--- a/scripts/binutils/base-binutils.add
+++ b/scripts/binutils/base-binutils.add
@@ -1,19 +1,18 @@
# ==============================================================
# rtems-base-binutils
# ==============================================================
-%package -n rtems-base-binutils
-Provides: rtems-base-binutils
+%package -n %{rpmprefix}rtems-base-binutils
Summary: base package for rtems binutils
-Group: rtems
+Group: %{rpmgroup}
PreReq: /sbin/install-info
-%description -n rtems-base-binutils
+%description -n %{rpmprefix}rtems-base-binutils
RTEMS is an open source operating system for embedded systems.
This is the base for binutils regardless of target CPU.
-%post -n rtems-base-binutils
+%post -n %{rpmprefix}rtems-base-binutils
if test -d $RPM_INSTALL_PREFIX%{_prefix}/info;
then
rm -f $RPM_INSTALL_PREFIX%{_prefix}/info/dir
@@ -23,7 +22,7 @@ This is the base for binutils regardless of target CPU.
done
fi
-%postun -n rtems-base-binutils
+%postun -n %{rpmprefix}rtems-base-binutils
if test -d $RPM_INSTALL_PREFIX%{_prefix}/info;
then
rm -f $RPM_INSTALL_PREFIX%{_prefix}/info/dir
@@ -33,7 +32,7 @@ This is the base for binutils regardless of target CPU.
done
fi
-%files -n rtems-base-binutils -f files
+%files -n %{rpmprefix}rtems-base-binutils -f files
%defattr(-,root,root)
%dir %{_prefix}/info
%doc %{_prefix}/info/dir
@@ -42,7 +41,6 @@ This is the base for binutils regardless of target CPU.
%doc %{_prefix}/info/binutils.info.gz
%doc %{_prefix}/info/ld.info.gz
%if "%{binutils_version}" < "2.14"
-# binutils >= 2.14 ships monolytic infos.
%doc %{_prefix}/info/as.info-*.gz
%doc %{_prefix}/info/bfd.info-?.gz
%doc %{_prefix}/info/binutils.info-?.gz
diff --git a/scripts/binutils/binutils.add b/scripts/binutils/binutils.add
index 1ff0abc247..e811d33a99 100644
--- a/scripts/binutils/binutils.add
+++ b/scripts/binutils/binutils.add
@@ -1,9 +1,10 @@
-%define binutils_version @binutils_version@
+%define binutils_version @binutils_version@
+%define binutils_target @target_alias@
-Name: @target_alias@-binutils-collection
-Summary: binutils for target @target_alias@
-Group: rtems
+Name: %{rpmprefix}%{binutils_target}-binutils-collection
+Summary: binutils for target %{binutils_target}
+Group: %{rpmgroup}
Release: @Release@
License: GPL/LGPL
@@ -37,8 +38,8 @@ RTEMS is an open source operating system for embedded systems.
This is binutils sources with patches for RTEMS.
%prep
-# untar the sources inside @target_alias@-binutils
-%setup -c -n @target_alias@-binutils
+# untar the sources inside %{binutils_target}-binutils
+%setup -c -n %{binutils_target}-binutils
@PATCH2@
test -d build || mkdir build
@@ -46,7 +47,7 @@ This is binutils sources with patches for RTEMS.
cd build
../binutils-%{binutils_version}/configure \
--build=%_build --host=%_host \
- --target=@target_alias@ \
+ --target=%{binutils_target} \
--verbose --prefix=%{_prefix} --disable-nls
make all
@@ -62,7 +63,7 @@ This is binutils sources with patches for RTEMS.
../binutils-%{binutils_version}/mkinstalldirs \
$RPM_BUILD_ROOT%{_prefix}/share/locale
- rm -f $RPM_BUILD_ROOT%{_prefix}/bin/@target_alias@-c++filt%{_exeext}
+ rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{binutils_target}-c++filt%{_exeext}
# gzip info files
gzip -9qf $RPM_BUILD_ROOT%{_prefix}/info/*.info 2>/dev/null
gzip -9qf $RPM_BUILD_ROOT%{_prefix}/info/*.info-* 2>/dev/null
diff --git a/scripts/binutils/mkspec.in b/scripts/binutils/mkspec.in
index cf44605ca3..bbba80989b 100644
--- a/scripts/binutils/mkspec.in
+++ b/scripts/binutils/mkspec.in
@@ -57,6 +57,8 @@ sed -e "s%@Release\@%${binutils_rpm_release}%g" \
-e "s,@rpm_build_root\@,${rpm_build_root},g" \
-e "s%@target_alias\@%${target_alias}%g" \
-e "s%@prefix\@%@prefix@%g" \
+ -e "s,@rpmprefix\@,@rpmprefix@,g" \
+ -e "s%@rpmgroup\@%@rpmgroup@%g" \
-e "s%@binutils_version\@%${binutils_version}%g" \
-e "s%@binutils_patch_version\@%${binutils_patch_version}%g" \
-e "s,@PATCH1\@,${PATCH1}," \
diff --git a/scripts/binutils/target-binutils.add b/scripts/binutils/target-binutils.add
index 6ab71ff328..7cd9da0a85 100644
--- a/scripts/binutils/target-binutils.add
+++ b/scripts/binutils/target-binutils.add
@@ -1,49 +1,48 @@
# ==============================================================
-# @target_alias@-binutils
+# %{binutils_target}-binutils
# ==============================================================
-%package -n @target_alias@-binutils
-Provides: @target_alias@-binutils
-Summary: rtems binutils for @target_alias@
-Group: rtems
-Requires: rtems-base-binutils
+%package -n %{rpmprefix}%{binutils_target}-binutils
+Summary: rtems binutils for %{binutils_target}
+Group: %{rpmgroup}
+Requires: %{rpmprefix}rtems-base-binutils
Autoreqprov: off
-%description -n @target_alias@-binutils
+%description -n %{rpmprefix}%{binutils_target}-binutils
RTEMS is an open source operating system for embedded systems.
-This is the GNU binutils for RTEMS targetting @target_alias@.
+This is the GNU binutils for RTEMS targetting %{binutils_target}.
-%files -n @target_alias@-binutils
+%files -n %{rpmprefix}%{binutils_target}-binutils
%defattr(-,root,root)
-%doc %{_prefix}/man/man1/@target_alias@-*.1*
+%doc %{_prefix}/man/man1/%{binutils_target}-*.1*
%dir %{_prefix}/bin
-%{_prefix}/bin/@target_alias@-addr2line%{_exeext}
-%{_prefix}/bin/@target_alias@-ar%{_exeext}
-%{_prefix}/bin/@target_alias@-as%{_exeext}
+%{_prefix}/bin/%{binutils_target}-addr2line%{_exeext}
+%{_prefix}/bin/%{binutils_target}-ar%{_exeext}
+%{_prefix}/bin/%{binutils_target}-as%{_exeext}
# c++filt now comes from gcc
-# %{_prefix}/bin/@target_alias@-c++filt%{_exeext}
+# %{_prefix}/bin/%{binutils_target}-c++filt%{_exeext}
# deleted as of 2.13
-# %{_prefix}/bin/@target_alias@-gasp%{_exeext}
-%{_prefix}/bin/@target_alias@-ld%{_exeext}
-%{_prefix}/bin/@target_alias@-nm%{_exeext}
-%{_prefix}/bin/@target_alias@-objcopy%{_exeext}
-%{_prefix}/bin/@target_alias@-objdump%{_exeext}
-%{_prefix}/bin/@target_alias@-ranlib%{_exeext}
-%{_prefix}/bin/@target_alias@-readelf%{_exeext}
-%{_prefix}/bin/@target_alias@-size%{_exeext}
-%{_prefix}/bin/@target_alias@-strings%{_exeext}
-%{_prefix}/bin/@target_alias@-strip%{_exeext}
+# %{_prefix}/bin/%{binutils_target}-gasp%{_exeext}
+%{_prefix}/bin/%{binutils_target}-ld%{_exeext}
+%{_prefix}/bin/%{binutils_target}-nm%{_exeext}
+%{_prefix}/bin/%{binutils_target}-objcopy%{_exeext}
+%{_prefix}/bin/%{binutils_target}-objdump%{_exeext}
+%{_prefix}/bin/%{binutils_target}-ranlib%{_exeext}
+%{_prefix}/bin/%{binutils_target}-readelf%{_exeext}
+%{_prefix}/bin/%{binutils_target}-size%{_exeext}
+%{_prefix}/bin/%{binutils_target}-strings%{_exeext}
+%{_prefix}/bin/%{binutils_target}-strip%{_exeext}
-%dir %{_prefix}/@target_alias@
-%dir %{_prefix}/@target_alias@/bin
-%{_prefix}/@target_alias@/bin/ar%{_exeext}
-%{_prefix}/@target_alias@/bin/as%{_exeext}
-%{_prefix}/@target_alias@/bin/ld%{_exeext}
-%{_prefix}/@target_alias@/bin/nm%{_exeext}
-%{_prefix}/@target_alias@/bin/ranlib%{_exeext}
-%{_prefix}/@target_alias@/bin/strip%{_exeext}
+%dir %{_prefix}/%{binutils_target}
+%dir %{_prefix}/%{binutils_target}/bin
+%{_prefix}/%{binutils_target}/bin/ar%{_exeext}
+%{_prefix}/%{binutils_target}/bin/as%{_exeext}
+%{_prefix}/%{binutils_target}/bin/ld%{_exeext}
+%{_prefix}/%{binutils_target}/bin/nm%{_exeext}
+%{_prefix}/%{binutils_target}/bin/ranlib%{_exeext}
+%{_prefix}/%{binutils_target}/bin/strip%{_exeext}
-%dir %{_prefix}/@target_alias@/lib
-%{_prefix}/@target_alias@/lib/ldscripts
+%dir %{_prefix}/%{binutils_target}/lib
+%{_prefix}/%{binutils_target}/lib/ldscripts
diff --git a/scripts/common/common.add.in b/scripts/common/common.add.in
index 12f3a55c10..9365c88138 100644
--- a/scripts/common/common.add.in
+++ b/scripts/common/common.add.in
@@ -5,6 +5,14 @@
#
%define _prefix @prefix@
+%if "%{_prefix}" != "/usr"
+%define _infodir %{_prefix}/info
+%define _mandir %{_prefix}/man
+%endif
+
+%define rpmprefix @rpmprefix@
+%define rpmgroup @rpmgroup@
+
%define _defaultbuildroot %{_tmppath}/%{name}-%{version}-root
%ifos cygwin cygwin32
%define _exeext .exe
@@ -12,8 +20,8 @@
%define _exeext %{nil}
%endif
-# Without this, RPM-4.x' rpm-brp-strip screws up on cross-binaries
-%define __os_install_post %{nil}
+# Work around to a bug in rpm-4.2
+%define __os_install_post %{nil}
Vendor: OARCorp
Distribution: Linux
diff --git a/scripts/common/common.am b/scripts/common/common.am
new file mode 100644
index 0000000000..a1c6b651a2
--- /dev/null
+++ b/scripts/common/common.am
@@ -0,0 +1,4 @@
+$(top_builddir)/common/common.add: $(top_builddir)/config.status $(top_srcdir)/common/common.add.in
+ cd $(top_builddir) && $(SHELL) ./config.status common/common.add
+$(top_builddir)/common/clean.add: $(top_builddir)/config.status $(top_srcdir)/common/clean.add.in
+ cd $(top_builddir) && $(SHELL) ./config.status common/clean.add
diff --git a/scripts/configure.ac b/scripts/configure.ac
index 69dd444026..7ce93f907f 100644
--- a/scripts/configure.ac
+++ b/scripts/configure.ac
@@ -4,7 +4,7 @@ AC_PREREQ(2.57)
AC_INIT([rtems-scripts],[_RTEMS_VERSION],[rtems-bugs@rtems.com])
AC_CONFIG_SRCDIR([binutils])
RTEMS_TOP([..])
-AC_PREFIX_DEFAULT([/opt/rtems])
+
AM_INIT_AUTOMAKE([no-define foreign 1.7.2])
AC_CANONICAL_HOST
@@ -12,6 +12,17 @@ AC_CANONICAL_HOST
test -f ./setup.cache || cp ${srcdir}/setup.def ./setup.cache
. ./setup.cache
+AC_ARG_ENABLE([rpmprefix],
+[ --enable-rpmprefix=<rpmprefix> prefix rpms],
+[case $enable_rpmprefix in
+yes ) rpmprefix="rtems-"]RTEMS_API["-";;
+no ) rpmprefix="%{nil}";;
+* ) AS_IF([test -z "$enable_rpmprefix"],
+ [rpmprefix="%{nil}"],
+ [rpmprefix="$enable_rpmprefix"]);;
+esac],
+[rpmprefix="rtems-"]RTEMS_API["-"])
+
AC_MSG_CHECKING(for rpm SPECS directory)
# Allow users to override RPM_SPECSdir from the environment.
if test -z "$RPM_SPECSdir" ;
@@ -66,6 +77,8 @@ BSPVERS="${rtems_version}"
AC_SUBST(RTEMS_VERSION)
AC_SUBST(BSPVERS)
AC_SUBST(RPM_CPU)
+AC_SUBST(rpmprefix,$rpmprefix)
+AC_SUBST(rpmgroup,[Rtems/][RTEMS_API])
AC_CONFIG_FILES([Makefile
binutils/Makefile
diff --git a/scripts/cpukit/Makefile.am b/scripts/cpukit/Makefile.am
index 03a95b87e3..04b71cf47d 100644
--- a/scripts/cpukit/Makefile.am
+++ b/scripts/cpukit/Makefile.am
@@ -2,6 +2,7 @@
## $Id$
##
+include $(top_srcdir)/common/common.am
MKSPEC = $(SHELL) ./mkspec
diff --git a/scripts/gcc3newlib/Makefile.am b/scripts/gcc3newlib/Makefile.am
index 9e02b98fba..b1e68cfe26 100644
--- a/scripts/gcc3newlib/Makefile.am
+++ b/scripts/gcc3newlib/Makefile.am
@@ -2,6 +2,8 @@
## $Id$
##
+include $(top_srcdir)/common/common.am
+
MKSPEC = $(SHELL) ./mkspec
SUBPACKAGES = header.add
diff --git a/scripts/gcc3newlib/base-g77.add b/scripts/gcc3newlib/base-g77.add
index 1aaf604672..06f96e8e61 100644
--- a/scripts/gcc3newlib/base-g77.add
+++ b/scripts/gcc3newlib/base-g77.add
@@ -2,18 +2,17 @@
# ==============================================================
# rtems-base-g77
# ==============================================================
-%package -n rtems-base-g77
-Provides: rtems-base-g77
+%package -n %{rpmprefix}rtems-base-g77
Summary: rtems base package for gcc/g77 compiler
-Group: rtems
+Group: %{rpmgroup}
Requires: rtems-base-gcc
-%description -n rtems-base-g77
+%description -n %{rpmprefix}rtems-base-g77
RTEMS is an open source operating system for embedded systems.
This is the files for gcc/g77 that are shared by all targets.
-%files -n rtems-base-g77
+%files -n %{rpmprefix}rtems-base-g77
%defattr(-,root,root)
%dir %{_prefix}/info
%doc %{_prefix}/info/g77.info*.gz
@@ -22,7 +21,7 @@ This is the files for gcc/g77 that are shared by all targets.
%dir %{_prefix}/man/man1
%doc %{_prefix}/man/man1/%{gcc_target}-g77.1*
-%post -n rtems-base-g77
+%post -n %{rpmprefix}rtems-base-g77
if test -d $RPM_INSTALL_PREFIX%{_prefix}/info;
then
rm -f $RPM_INSTALL_PREFIX%{_prefix}/info/dir
@@ -32,7 +31,7 @@ This is the files for gcc/g77 that are shared by all targets.
done
fi
-%postun -n rtems-base-g77
+%postun -n %{rpmprefix}rtems-base-g77
if test -d $RPM_INSTALL_PREFIX%{_prefix}/info;
then
rm -f $RPM_INSTALL_PREFIX%{_prefix}/info/dir
diff --git a/scripts/gcc3newlib/base-gcc.add b/scripts/gcc3newlib/base-gcc.add
index f719e8f5cc..f628b8d50c 100644
--- a/scripts/gcc3newlib/base-gcc.add
+++ b/scripts/gcc3newlib/base-gcc.add
@@ -1,18 +1,17 @@
# ==============================================================
-# rtems-base-gcc
+# %{rpmprefix}rtems-base-gcc
# ==============================================================
-%package -n rtems-base-gcc
-Provides: rtems-base-gcc
+%package -n %{rpmprefix}rtems-base-gcc
Summary: base package for rtems gcc and newlib C Library
-Group: rtems
+Group: %{rpmgroup}
-%description -n rtems-base-gcc
+%description -n %{rpmprefix}rtems-base-gcc
RTEMS is an open source operating system for embedded systems.
This is the files for gcc and newlib that are shared by all targets.
-%files -n rtems-base-gcc
+%files -n %{rpmprefix}rtems-base-gcc
%defattr(-,root,root)
%dir %{_prefix}/info
%doc %{_prefix}/info/cpp.info*.gz
@@ -33,7 +32,7 @@ This is the files for gcc and newlib that are shared by all targets.
%dir %{_prefix}/include
-%post -n rtems-base-gcc
+%post -n %{rpmprefix}rtems-base-gcc
if test -d $RPM_INSTALL_PREFIX%{_prefix}/info;
then
rm -f $RPM_INSTALL_PREFIX%{_prefix}/info/dir
@@ -43,7 +42,7 @@ This is the files for gcc and newlib that are shared by all targets.
done
fi
-%postun -n rtems-base-gcc
+%postun -n %{rpmprefix}rtems-base-gcc
if test -d $RPM_INSTALL_PREFIX%{_prefix}/info;
then
rm -f $RPM_INSTALL_PREFIX%{_prefix}/info/dir
diff --git a/scripts/gcc3newlib/base-gcj.add b/scripts/gcc3newlib/base-gcj.add
index ef0ecb9778..93d4f9f25d 100644
--- a/scripts/gcc3newlib/base-gcj.add
+++ b/scripts/gcc3newlib/base-gcj.add
@@ -2,18 +2,17 @@
# ==============================================================
# rtems-base-gcj
# ==============================================================
-%package -n rtems-base-gcj
-Provides: rtems-base-gcj
+%package -n %{rpmprefix}rtems-base-gcj
Summary: base package for rtems gcc/java compiler (gcj).
-Group: rtems
-Requires: rtems-base-gcc
+Group: %{rpmgroup}
+Requires: %{rpmprefix}rtems-base-gcc
-%description -n rtems-base-gcj
+%description -n %{rpmprefix}rtems-base-gcj
RTEMS is an open source operating system for embedded systems.
This is the files for gcc/java (gcj) that are shared by all targets.
-%files -n rtems-base-gcj
+%files -n %{rpmprefix}rtems-base-gcj
%defattr(-,root,root)
%dir %{_prefix}/bin
%{_prefix}/bin/jar%{_exeext}
diff --git a/scripts/gcc3newlib/base-gnat.add b/scripts/gcc3newlib/base-gnat.add
index 648e764c5e..451994596a 100644
--- a/scripts/gcc3newlib/base-gnat.add
+++ b/scripts/gcc3newlib/base-gnat.add
@@ -2,17 +2,16 @@
# ==============================================================
# rtems-base-gnat
# ==============================================================
-%package -n rtems-base-gnat
-Provides: rtems-base-gnat
+%package -n %{rpmprefix}rtems-base-gnat
Summary: gcc/gnat tools
-Group: rtems
+Group: %{rpmgroup}
-%description -n rtems-base-gnat
+%description -n %{rpmprefix}rtems-base-gnat
RTEMS is an open source operating system for embedded systems.
This is the gcc/gnat tools for the gcc/gnat compiler
-%files -n rtems-base-gnat
+%files -n %{rpmprefix}rtems-base-gnat
%defattr(-,root,root)
%dir %{_prefix}/bin
# %{_prefix}/bin/gnat*
diff --git a/scripts/gcc3newlib/gccnewlib.add b/scripts/gcc3newlib/gccnewlib.add
index fc806527d0..66a77139ba 100644
--- a/scripts/gcc3newlib/gccnewlib.add
+++ b/scripts/gcc3newlib/gccnewlib.add
@@ -4,9 +4,9 @@
%define gcc_target @target_alias@
-Name: %{gcc_target}-gcc-newlib
+Name: %{rpmprefix}%{gcc_target}-gcc-newlib
Summary: gcc and newlib C Library for %{gcc_target}.
-Group: rtems
+Group: %{rpmgroup}
Release: @Release@
License: gcc is GPL/LGPL ; newlib no has restrictions on run-time usage
@@ -14,16 +14,20 @@ Autoreqprov: on
Packager: corsepiu@faw.uni-ulm.de and joel@OARcorp.com
Version: gcc%{gcc_version}newlib%{newlib_version}
-# gcc 3.x and gcc 2.9
-# Source0: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-%{gcc_version}.tar.gz
-Source0: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-%{gcc_version}.tar.bz2
-# gcc 2.95.x
-# Source0: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-%{gcc_version}.tar.bz2
+%if "%{gcc_version}" >= "3.2.2"
+Source0: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-%{gcc_version}/gcc-%{gcc_version}.tar.bz2
+%else
+%if "%{gcc_version}" >= "3.0"
+Source0: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-%{gcc_version}/gcc-%{gcc_version}.tar.gz
+%else
+Source0: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-%{gcc_version}/gcc-%{gcc_version}-everything.tar.gz
+%endif
+%endif
Source1: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_version}.tar.gz
@PATCH1@
@PATCH3@
BuildPreReq: texinfo >= 4.2
-BuildPreReq: %{gcc_target}-binutils
+BuildPreReq: %{rpmprefix}%{gcc_target}-binutils
#
# The original sources are not included in the source RPM.
# If we included them, then the source RPMs for each target
@@ -57,7 +61,7 @@ NoSource: 1
%define _gcj %{?gcj:%gcj}%{!?gcj:1}
%else
# default to not building gcj
-%define _gcj %{?gnat:%gcj}%{!?gcj:0}
+%define _gcj %{?gcj:%gcj}%{!?gcj:0}
%endif
@@ -177,6 +181,8 @@ This is gcc's and newlib C Library's sources with patches for RTEMS.
%if %build_gnat
languages="$languages,ada"
%endif
+
+ export PATH="%{_bindir}:${PATH}"
../gcc-%{gcc_version}/configure \
--build=%_build --host=%_host \
--target=%{gcc_target} \
@@ -193,6 +199,12 @@ This is gcc's and newlib C Library's sources with patches for RTEMS.
cp ../gcc-%{gcc_version}/gcc/gsyslimits.h gcc/include/syslimits.h
%endif
+%if %build_cxx
+%if "%{gcc_version}" >= "3.3"
+ make -C %{gcc_target}/libiberty CFLAGS="$RPM_OPT_FLAGS" c++filt
+%endif
+%endif
+
%if %build_gnat
cd ../gcc-%{gcc_version}/gcc/ada
touch treeprs.ads [es]info.h nmake.ad[bs]
@@ -226,6 +238,7 @@ This is gcc's and newlib C Library's sources with patches for RTEMS.
make info
%install
+ export PATH="%{_bindir}:${PATH}"
cd build
# Bug in gcc-2.95.1: It doesn't build this installation directory
# If it doesn't find it, gcc doesn't install %{gcc_target}/bin/gcc
@@ -265,6 +278,14 @@ This is gcc's and newlib C Library's sources with patches for RTEMS.
fi
%endif
+%if %build_cxx
+%if "%{gcc_version}" >= "3.3"
+ install -d $RPM_BUILD_ROOT%{_prefix}/bin
+ install -c -m 755 %{gcc_target}/libiberty/c++filt%{_exeext} \
+ $RPM_BUILD_ROOT%{_prefix}/bin/%{target_alias}-c++filt%{_exeext}
+%endif
+%endif
+
# gzip info files
gzip -f $RPM_BUILD_ROOT%{_prefix}/info/*.info 2>/dev/null
%if "%{gcc_version}" < "3.3"
diff --git a/scripts/gcc3newlib/mkspec.in b/scripts/gcc3newlib/mkspec.in
index 3b4391da77..0492edd10a 100644
--- a/scripts/gcc3newlib/mkspec.in
+++ b/scripts/gcc3newlib/mkspec.in
@@ -69,6 +69,8 @@ sed -e "s,@PATCH1\@,${PATCH1}," \
-e "s%@Release\@%${gcc3newlib_rpm_release}%g" \
-e "s%@target_alias\@%${target_alias}%g" \
-e "s%@prefix\@%@prefix@%g" \
+ -e "s,@rpmprefix\@,@rpmprefix@,g" \
+ -e "s%@rpmgroup\@%@rpmgroup@%g" \
-e "s,@rpm_build_root\@,${rpm_build_root},g" \
-e "s%@gcc_version\@%${gcc3_version}%g" \
-e "s%@gcc_patch_version\@%${gcc3_patch_version}%g" \
diff --git a/scripts/gcc3newlib/target-c++.add b/scripts/gcc3newlib/target-c++.add
index f73670cc2e..e2fe80a86b 100644
--- a/scripts/gcc3newlib/target-c++.add
+++ b/scripts/gcc3newlib/target-c++.add
@@ -2,27 +2,24 @@
# ==============================================================
# %{gcc_target}-c++
# ==============================================================
-%package -n %{gcc_target}-c++
-Provides: %{gcc_target}-c++
+%package -n %{rpmprefix}%{gcc_target}-c++
Summary: gcc/g++ compiler (c++) for %{gcc_target}
-Group: rtems
-Requires: rtems-base-gcc %{gcc_target}-gcc
+Group: %{rpmgroup}
+Requires: %{rpmprefix}rtems-base-gcc %{rpmprefix}%{gcc_target}-gcc
-%description -n %{gcc_target}-c++
+%description -n %{rpmprefix}%{gcc_target}-c++
RTEMS is an open source operating system for embedded systems.
This is the gcc/g++ compiler for %{gcc_target}
-%files -n %{gcc_target}-c++ -f build/files.g++
+%files -n %{rpmprefix}%{gcc_target}-c++ -f build/files.g++
%defattr(-,root,root)
%doc %{_prefix}/man/man1/%{gcc_target}-g++.1*
%dir %{_prefix}/bin
%{_prefix}/bin/%{gcc_target}-c++%{_exeext}
%{_prefix}/bin/%{gcc_target}-g++%{_exeext}
-%if "{gcc_version}" < "3.3"
%{_prefix}/bin/%{gcc_target}-c++filt%{_exeext}
-%endif
%{_prefix}/lib/gcc-lib/%{gcc_target}/%{gcc_version}/cc1plus%{_exeext}
%dir %{_prefix}/lib/gcc-lib/%{gcc_target}/%{gcc_version}/include
diff --git a/scripts/gcc3newlib/target-g77.add b/scripts/gcc3newlib/target-g77.add
index abd1b5e792..0e2b696855 100644
--- a/scripts/gcc3newlib/target-g77.add
+++ b/scripts/gcc3newlib/target-g77.add
@@ -2,18 +2,17 @@
# ==============================================================
# %{gcc_target}-g77
# ==============================================================
-%package -n %{gcc_target}-g77
-Provides: %{gcc_target}-g77
+%package -n %{rpmprefix}%{gcc_target}-g77
Summary: gcc/g77 compiler for %{gcc_target}
-Group: rtems
-Requires: rtems-base-g77 %{gcc_target}-gcc
+Group: %{rpmgroup}
+Requires: %{rpmprefix}rtems-base-g77 %{rpmprefix}%{gcc_target}-gcc
-%description -n %{gcc_target}-g77
+%description -n %{rpmprefix}%{gcc_target}-g77
RTEMS is an open source operating system for embedded systems.
This is the gcc/g77 compiler for %{gcc_target}
-%files -n %{gcc_target}-g77 -f build/files.g77
+%files -n %{rpmprefix}%{gcc_target}-g77 -f build/files.g77
%defattr(-,root,root)
%dir %{_prefix}/bin
%{_prefix}/bin/%{gcc_target}-g77%{_exeext}
diff --git a/scripts/gcc3newlib/target-gcc.add b/scripts/gcc3newlib/target-gcc.add
index 25bf77d525..161d902524 100644
--- a/scripts/gcc3newlib/target-gcc.add
+++ b/scripts/gcc3newlib/target-gcc.add
@@ -1,18 +1,17 @@
# ==============================================================
# %{gcc_target}-gcc
# ==============================================================
-%package -n %{gcc_target}-gcc
-Provides: %{gcc_target}-gcc
+%package -n %{rpmprefix}%{gcc_target}-gcc
Summary: rtems gcc and newlib C Library for %{gcc_target}
-Group: rtems
-Requires: %{gcc_target}-binutils rtems-base-gcc
+Group: %{rpmgroup}
+Requires: %{rpmprefix}%{gcc_target}-binutils %{rpmprefix}rtems-base-gcc
-%description -n %{gcc_target}-gcc
+%description -n %{rpmprefix}%{gcc_target}-gcc
RTEMS is an open source operating system for embedded systems.
This is gcc and newlib C Library for %{gcc_target}.
-%files -n %{gcc_target}-gcc -f build/files.gcc
+%files -n %{rpmprefix}%{gcc_target}-gcc -f build/files.gcc
%defattr(-,root,root)
%doc %{_prefix}/man/man1/%{gcc_target}-gcc.1*
diff --git a/scripts/gcc3newlib/target-gcj.add b/scripts/gcc3newlib/target-gcj.add
index 4d8b144ea7..d1a5e6b9c2 100644
--- a/scripts/gcc3newlib/target-gcj.add
+++ b/scripts/gcc3newlib/target-gcj.add
@@ -2,18 +2,17 @@
# ==============================================================
# %{gcc_target}-gcj
# ==============================================================
-%package -n %{gcc_target}-gcj
-Provides: %{gcc_target}-gcj
+%package -n %{rpmprefix}%{gcc_target}-gcj
Summary: gcc/java compiler (gcj) for %{gcc_target}
-Group: rtems
-Requires: rtems-base-gcj %{gcc_target}-gcc
+Group: %{rpmgroup}
+Requires: %{rpmprefix}rtems-base-gcj %{rpmprefix}%{gcc_target}-gcc
-%description -n %{gcc_target}-gcj
+%description -n %{rpmprefix}%{gcc_target}-gcj
RTEMS is an open source operating system for embedded systems.
This is the gcc/java compiler for %{gcc_target}
-%files -n %{gcc_target}-gcj -f build/files.gcj
+%files -n %{rpmprefix}%{gcc_target}-gcj -f build/files.gcj
%defattr(-,root,root)
%dir %{_prefix}/bin
%{_prefix}/bin/%{gcc_target}-gcj%{_exeext}
diff --git a/scripts/gcc3newlib/target-gnat.add b/scripts/gcc3newlib/target-gnat.add
index 6490fd1b2c..6e9d1166a0 100644
--- a/scripts/gcc3newlib/target-gnat.add
+++ b/scripts/gcc3newlib/target-gnat.add
@@ -2,20 +2,18 @@
# ==============================================================
# %{gcc_target}-gnat
# ==============================================================
-%package -n %{gcc_target}-gnat
-Provides: %{gcc_target}-gnat
+%package -n %{rpmprefix}%{gcc_target}-gnat
Summary: gcc/gnat compiler for %{gcc_target}
-Group: rtems
-Requires: rtems-base-gnat %{gcc_target}-gcc
+Group: %{rpmgroup}
+Requires: %{rpmprefix}rtems-base-gnat %{rpmprefix}%{gcc_target}-gcc
-%description -n %{gcc_target}-gnat
+%description -n %{rpmprefix}%{gcc_target}-gnat
RTEMS is an open source operating system for embedded systems.
This is the gcc/gnat compiler for %{gcc_target}
-%files -n %{gcc_target}-gnat
+%files -n %{rpmprefix}%{gcc_target}-gnat
%defattr(-,root,root)
-# %files -n %{gcc_target}-gnat -f build/files.gnat
%dir %{_prefix}/bin
%{_prefix}/bin/%{gcc_target}-gnat*
diff --git a/scripts/gcc3newlib/target-objc.add b/scripts/gcc3newlib/target-objc.add
index 7c723c0f35..27f66f5bee 100644
--- a/scripts/gcc3newlib/target-objc.add
+++ b/scripts/gcc3newlib/target-objc.add
@@ -2,18 +2,17 @@
# ==============================================================
# %{gcc_target}-objc
# ==============================================================
-%package -n %{gcc_target}-objc
-Provides: %{gcc_target}-objc
+%package -n %{rpmprefix}%{gcc_target}-objc
Summary: gcc/objc compiler for %{gcc_target}
-Group: rtems
-Requires: %{gcc_target}-gcc
+Group: %{rpmgroup}
+Requires: %{rpmprefix}%{gcc_target}-gcc
-%description -n %{gcc_target}-objc
+%description -n %{rpmprefix}%{gcc_target}-objc
RTEMS is an open source operating system for embedded systems.
This is the gcc/objc compiler for %{gcc_target}
-%files -n %{gcc_target}-objc -f build/files.objc
+%files -n %{rpmprefix}%{gcc_target}-objc -f build/files.objc
%defattr(-,root,root)
%{_prefix}/lib/gcc-lib/%{gcc_target}/%{gcc_version}/cc1obj%{_exeext}
%{_prefix}/lib/gcc-lib/%{gcc_target}/%{gcc_version}/include/objc
diff --git a/scripts/gccnewlib/Makefile.am b/scripts/gccnewlib/Makefile.am
index 12f779bd02..6bf511022f 100644
--- a/scripts/gccnewlib/Makefile.am
+++ b/scripts/gccnewlib/Makefile.am
@@ -2,6 +2,7 @@
## $Id$
##
+include $(top_srcdir)/common/common.am
MKGCCNEWLIBSPEC = $(SHELL) $(top_builddir)/mkgccnewlibspec
diff --git a/scripts/gdb/Makefile.am b/scripts/gdb/Makefile.am
index fd29ad67cc..f4d60a92ca 100644
--- a/scripts/gdb/Makefile.am
+++ b/scripts/gdb/Makefile.am
@@ -2,6 +2,8 @@
## $Id$
##
+include $(top_srcdir)/common/common.am
+
MKSPEC = $(SHELL) ./mkspec
SUBPACKAGES = header.add
diff --git a/scripts/rtems/Makefile.am b/scripts/rtems/Makefile.am
index adca9d2e7f..39856c4f5d 100644
--- a/scripts/rtems/Makefile.am
+++ b/scripts/rtems/Makefile.am
@@ -2,6 +2,7 @@
## $Id$
##
+include $(top_srcdir)/common/common.am
MKBSPSPEC = $(SHELL) $(top_builddir)/mkbspspec
diff --git a/scripts/rtemsdoc/Makefile.am b/scripts/rtemsdoc/Makefile.am
index fd205e54e4..c294037973 100644
--- a/scripts/rtemsdoc/Makefile.am
+++ b/scripts/rtemsdoc/Makefile.am
@@ -2,6 +2,8 @@
## $Id$
##
+include ${top_srcdir}/common/common.am
+
CLEANFILES =
MKSPEC = $(SHELL) ./mkspec