summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--TODO2
-rwxr-xr-xbin/ptxdist180
-rw-r--r--platforms/Kconfig380
-rw-r--r--platforms/architecture.in378
-rw-r--r--platforms/console.in17
-rw-r--r--platforms/images.in (renamed from rules/images.in)6
-rw-r--r--platforms/kernel.in101
-rw-r--r--rules/Kconfig6
-rw-r--r--rules/apache2_mod_python.make2
-rw-r--r--rules/commoncpp2.make2
-rw-r--r--rules/cross-insight.make2
-rw-r--r--rules/cross-module-init-tools.make4
-rw-r--r--rules/cross-nasm.make2
-rw-r--r--rules/cross-pkg-config-wrapper.make4
-rw-r--r--rules/flash.make2
-rw-r--r--rules/freetype.make2
-rw-r--r--rules/gdb-wrapper.make30
-rw-r--r--rules/grub.make2
-rw-r--r--rules/host-cramfs.make4
-rw-r--r--rules/host-dtc.make2
-rw-r--r--rules/host-flex254.make2
-rw-r--r--rules/host-fontconfig.make2
-rw-r--r--rules/host-ipkg-utils.make2
-rw-r--r--rules/host-localedef.make2
-rw-r--r--rules/host-mtd-utils.make2
-rw-r--r--rules/host-qte.make4
-rw-r--r--rules/host-slirp.make6
-rw-r--r--rules/host-umkimage.make2
-rw-r--r--rules/host-util-linux.make6
-rw-r--r--rules/kernel.in38
-rw-r--r--rules/kernel.make4
-rw-r--r--rules/klibc.make4
-rw-r--r--rules/libpng.make4
-rw-r--r--rules/libxml2.make2
-rw-r--r--rules/libxslt.make2
-rw-r--r--rules/ltp.make2
-rw-r--r--rules/mico.make2
-rw-r--r--rules/other/Definitions.make2
-rw-r--r--rules/other/Namespace.make13
-rw-r--r--rules/other/Toplevel.make103
-rw-r--r--rules/pelts_tests.make52
-rw-r--r--rules/php-apc.make2
-rw-r--r--rules/platforms.in9
-rw-r--r--rules/pre/Rules.make38
-rw-r--r--rules/python24.make2
-rw-r--r--rules/qte.make2
-rw-r--r--rules/rootfs.make11
-rw-r--r--rules/rootfs_configfiles.in18
-rw-r--r--rules/sdl.make4
-rw-r--r--rules/sdl_image.make2
-rw-r--r--rules/template-file-make6
-rw-r--r--rules/u-boot-v2.make4
-rwxr-xr-xscripts/dgen.sh42
-rwxr-xr-xscripts/get_tool_versions.sh8
-rw-r--r--scripts/ptxdist_vars.sh18
55 files changed, 743 insertions, 807 deletions
diff --git a/TODO b/TODO
index 05f69e296..7e36cb990 100644
--- a/TODO
+++ b/TODO
@@ -433,7 +433,7 @@ make: ***
[ ] mol: add possibility to 'ptxdist print' more than one variable in
one make call bbu: maybe some kind of "ptxdist env" as in env(1) ?
-[ ] check if ${PTXCONF_PREFIX} can be written to and barf if not
+[ ] check if ${PTXCONF_SYSROOT_TARGET} can be written to and barf if not
[ ] add sanity checks for all user configurable variables (especially
paths)
diff --git a/bin/ptxdist b/bin/ptxdist
index 3b57ac391..38e29e326 100755
--- a/bin/ptxdist
+++ b/bin/ptxdist
@@ -24,8 +24,16 @@ fi
PTXDIST_TOPDIR=`dirname "$PTXDIST_TOPDIR"`
PTXDIST_TOPDIR=`cd "$PTXDIST_TOPDIR"/.. && pwd`
-export PTXDIST PTXDIST_WORKSPACE PTXDIST_TOPDIR
+# we need the platform before we have sourced platformconfig yet
+# this needs to be in sync with scripts/ptxdist_vars.sh
+PTXCONF_PLATFORM=`test -f ${PTXDIST_WORKSPACE}/.platformconfig && \
+ (source ${PTXDIST_WORKSPACE}/.platformconfig; echo $PTXCONF_PLATFORM)`
+if [ -n "$PTXCONF_PLATFORM" ]; then
+ PTXDIST_PLATFORM_PREFIX=platform-
+fi
+
+export PTXDIST PTXDIST_WORKSPACE PTXDIST_TOPDIR PTXCONF_PLATFORM PTXDIST_PLATFORM_PREFIX
#
# sanity check: is PTXdist already configured?
@@ -60,12 +68,15 @@ done
[ -e "$HOME/.ptxdistrc.${FULLVERSION}" ] && . "$HOME/.ptxdistrc.${FULLVERSION}"
# use linked toolchain if available
-[ -d ".toolchain" ] && export PATH=${PTXDIST_WORKSPACE}/.toolchain:$PATH
+if [ -d ".toolchain" ]; then
+ TOOLCHAIN=${PTXDIST_WORKSPACE}/.toolchain
+ export PATH=${TOOLCHAIN}:$PATH
+fi
# dir might not be available yet, but will be created later
-prefix_host="`ptxd_get_ptxconf PTXCONF_HOST_PREFIX`"
-if test -n "${prefix_host}"; then
- export PATH="${prefix_host}/bin:${prefix_host}/sbin:$PATH"
+ptxconf_sysroot_host="`ptxd_get_ptxconf PTXCONF_SYSROOT_HOST`"
+if test -n "${ptxconf_sysroot_host}"; then
+ export PATH="${ptxconf_sysroot_host}/bin:${ptxconf_sysroot_host}/sbin:$PATH"
fi
#
@@ -151,7 +162,7 @@ check_ptxconfig() {
if [ ! -e "${PLATFORMCONFIG}" ]; then
echo
- echo "${PROMPT}error: 'platformconfig' is missing"
+ echo "${PROMPT}error: '.platformconfig' is missing"
echo
exit 1
fi
@@ -242,7 +253,7 @@ check_compiler() {
# So we check for a 'ptxconfig' file in the toolchain directory
# and test the PTXCONF_PROJECT string therein.
- if [ ! -d ${PTXDIST_WORKSPACE}/.toolchain ]; then
+ if [ ! -d ${TOOLCHAIN} ]; then
echo
echo "${PROMPT}error: specify .toolchain with 'ptxdist toolchain <path>'"
echo "${PROMPT}error: or leave PTXCONF_CROSSCHAIN_VENDOR empty to disable toolchain check"
@@ -250,10 +261,10 @@ check_compiler() {
exit 1
fi
- vendor_def=$(readlink -f ${PTXDIST_WORKSPACE}/.toolchain/ptxconfig)
+ vendor_def=$(readlink -f ${TOOLCHAIN}/ptxconfig)
if [ -z "$vendor_def" ]; then
echo
- echo "${PROMPT}error: .toolchain doesn't point to an OSELAS.Toolchain"
+ echo "${PROMPT}error: toolchain doesn't point to an OSELAS.Toolchain"
echo "${PROMPT}error: set PTXCONF_CROSSCHAIN_VENDOR to disable toolchain version check"
echo
exit 1
@@ -369,26 +380,25 @@ check_dirs_prefix() {
# they are created here.
#
check_dirs() {
- local ptxconf_prefix ptxconf_prefix_host ptxconf_prefix_cross dir
+ local ptxconf_sysroot_target ptxconf_sysroot_host ptxconf_sysroot_cross dir
local ptxconf_gnu_target testfile_upper testfile_lower i
- # prefix
if [ -z "$PREFIX" ]; then
- ptxconf_prefix="$(ptxd_get_ptxconf PTXCONF_PREFIX)"
+ ptxconf_sysroot_target="$(ptxd_get_ptxconf PTXCONF_SYSROOT_TARGET)"
else
- ptxconf_prefix=${PREFIX}
+ ptxconf_sysroot_target=${PREFIX}
fi
- ptxconf_prefix_host="$(ptxd_get_ptxconf PTXCONF_HOST_PREFIX)"
- ptxconf_prefix_cross="$(ptxd_get_ptxconf PTXCONF_CROSS_PREFIX)"
+ ptxconf_sysroot_host="$(ptxd_get_ptxconf PTXCONF_SYSROOT_HOST)"
+ ptxconf_sysroot_cross="$(ptxd_get_ptxconf PTXCONF_SYSROOT_CROSS)"
- for dir in "${ptxconf_prefix_host}" "${ptxconf_prefix_cross}"; do
+ for dir in "${ptxconf_sysroot_host}" "${ptxconf_sysroot_cross}"; do
check_dirs_prefix "${dir}"
done
# sysroot - keep in sync with rules/pre/Rules.make -> SYSROOT
ptxconf_gnu_target="$(ptxd_get_ptxconf PTXCONF_GNU_TARGET)"
- mkdir -p "${ptxconf_prefix}/sysroot/${ptxconf_gnu_target}"/{,usr/}{lib,{,s}bin,include,{,share/}man/man{1,2,3,4,5,6,7,8,9}}
+ mkdir -p "${PTXDIST_WORKSPACE}/${PTXDIST_PLATFORM_PREFIX}${PTXCONF_PLATFORM}/sysroot-target"/{,usr/}{lib,{,s}bin,include,{,share/}man/man{1,2,3,4,5,6,7,8,9}}
# builddirs
for i in "${BUILDDIR}" "${CROSS_BUILDDIR}" "${HOST_BUILDDIR}" \
@@ -417,26 +427,6 @@ check_dirs() {
done
}
-check_native() {
- [ -n "$NATIVE" ] && touch .build.native
- [ -z "$NATIVE" ] && touch .build.cross
- if [ -f ".build.native" ] && [ -f ".build.cross" ]; then
- if [ -z "$NATIVE" ]; then
- echo
- echo "error: trying to crosscompile in a native tree"
- echo
- rm -f .build.cross
- exit 1
- else
- echo
- echo "error: trying to compile natively in a cross tree"
- echo
- rm -f .build.native
- exit 1
- fi
- fi
-}
-
check_if_selected() {
if [ -z $1 ]; then
echo
@@ -508,9 +498,6 @@ Clean Actions:
Misc
- run start a previously built native image
-
- --native build with native compiler instead of cross
--version print out ptxdist version
(svn up) run "svn update" in topdir and project dir
@@ -527,15 +514,16 @@ Misc
Environment:
PREFIX=<path> build into this directory, instead of
- building into PTXCONF_PREFIX from config
+ building into PTXCONF_SYSROOT_TARGET from config
EOF
}
clean() {
local dir bdir
- local ptxconf_prefix ptxconf_host_prefix ptxconf_cross_prefix
+ local ptxconf_sysroot_target ptxconf_sysroot_host ptxconf_sysroot_cross
+ # we want to clean the root dir
if [ "$1" = "root" ]; then
echo
echo "${PROMPT}cleaning root directory..."
@@ -548,6 +536,7 @@ clean() {
return
fi
+ # we want to clean a single package
if [ -n "$1" ]; then
check_if_selected $1
ptxd_make $1_clean
@@ -561,6 +550,7 @@ clean() {
continue
fi
for bdir in `find "${dir}" -maxdepth 1 -mindepth 1 -type l`; do
+ # run 'make clean' for linked source directories
pushd "${bdir}" > /dev/null
echo -n "${PROMPT}running \"make clean\" in \"${bdir#${dir}/}\"... "
make clean 1> /dev/null 2>&1
@@ -572,14 +562,19 @@ clean() {
if test -f "${PTXCONFIG}"; then
echo "${PROMPT}removing sysroot directories..."
- ptxconf_prefix="`ptxd_get_ptxconf PTXCONF_PREFIX`"
- ptxconf_host_prefix="`ptxd_get_ptxconf PTXCONF_HOST_PREFIX`"
- ptxconf_cross_prefix="`ptxd_get_ptxconf PTXCONF_CROSS_PREFIX`"
+ ptxconf_sysroot_target="`ptxd_get_ptxconf PTXCONF_SYSROOT_TARGET`"
+ ptxconf_sysroot_host="`ptxd_get_ptxconf PTXCONF_SYSROOT_HOST`"
+ ptxconf_sysroot_cross="`ptxd_get_ptxconf PTXCONF_SYSROOT_CROSS`"
- for dir in "${ptxconf_prefix}" "${ptxconf_host_prefix}" "${ptxconf_cross_prefix}"; do
+ for dir in "${ptxconf_sysroot_target}" "${ptxconf_sysroot_host}" "${ptxconf_sysroot_cross}"; do
if test \! -d "${dir}"; then
continue
fi
+ #
+ # remove the dir only if it is inside the workspace; if we for
+ # example build toolchains or production builds to /opt/...,
+ # we don't want to clean them here!
+ #
case "${dir}" in
(${PTXDIST_WORKSPACE}/*)
rm -rf "${dir}"
@@ -591,7 +586,7 @@ clean() {
fi
echo "${PROMPT}removing deps..."
- rm -f depend.out deptree-a4.ps deptree.ps
+ rm -f ${PLATFORMDIR}/{depend.out,deptree-a4.ps,deptree.ps}
echo "${PROMPT}removing imagedir..."
rm -fr "${IMAGEDIR}"
echo "${PROMPT}removing root..."
@@ -600,11 +595,17 @@ clean() {
echo "${PROMPT}removing state..."
rm -fr "${STATEDIR}"
echo "${PROMPT}removing logfile..."
- rm -f logfile
+ rm -f ${PLATFORMDIR}/logfile
echo "${PROMPT}removing test logfile..."
- rm -f test.log
- echo "${PROMPT}removing cross/native marker..."
- rm -f .build.cross .build.native
+ rm -f ${PLATFORMDIR}/test.log
+ echo "${PROMPT}removing packages dir..."
+ rm -fr ${PLATFORMDIR}/packages
+ echo "${PROMPT}removing sysroot dir..."
+ rm -fr ${PLATFORMDIR}/sysroot
+
+ # remove the remaining PLATFORMDIR (if empty)
+ rmdir ${PLATFORMDIR} 2>&1 > /dev/null
+
echo "${PROMPT}done."
echo
}
@@ -952,11 +953,10 @@ while [ "$#" != "0" ]; do
compile) shift
check_ptxconfig
check_if_selected $1
- check_native
check_compiler
check_dirs
check_deps
- ptxd_make $1_compile 2>&1 | tee -a logfile
+ ptxd_make $1_compile 2>&1 | tee -a ${PLATFORMDIR}/logfile
check_pipe_status
exit 0
;;
@@ -978,7 +978,7 @@ while [ "$#" != "0" ]; do
echo "${PROMPT}removing toolchain link..."
rm -f .toolchain
echo "${PROMPT}removing logs dir..."
- rm -fr logfile
+ rm -fr ${PLATFORMDIR}/logfile
if [ -h "${PTXCONFIG}" ]; then
echo "${PROMPT}removing ptxconfig link..."
rm ${PTXCONFIG}
@@ -998,71 +998,64 @@ while [ "$#" != "0" ]; do
fi
export EXPORTDIR=$1
check_ptxconfig
- check_native
check_deps
- ptxd_make export $1 2>&1 | tee -a logfile
+ ptxd_make export $1 2>&1 | tee -a ${PLATFORMDIR}/logfile
check_pipe_status
exit 0
;;
extract) shift
check_ptxconfig
check_if_selected $1
- check_native
check_deps
- ptxd_make $1_extract 2>&1 | tee -a logfile
+ ptxd_make $1_extract 2>&1 | tee -a ${PLATFORMDIR}/logfile
check_pipe_status
exit 0
;;
get) shift
check_ptxconfig
- check_native
check_deps
if [ $# -eq 0 ]; then
- ptxd_make get 2>&1 | tee -a logfile
+ ptxd_make get 2>&1 | tee -a ${PLATFORMDIR}/logfile
check_pipe_status
exit 0
else
check_if_selected $1
- ptxd_make $1_get 2>&1 | tee -a logfile
+ ptxd_make $1_get 2>&1 | tee -a ${PLATFORMDIR}/logfile
check_pipe_status
exit 0
fi
;;
go) shift
check_ptxconfig
- check_native
check_compiler
check_dirs
check_deps
- ptxd_make world 2>&1 | tee -a logfile
+ ptxd_make world 2>&1 | tee -a ${PLATFORMDIR}/logfile
check_pipe_status
exit 0
;;
help|--help) shift; usage; exit 0; ;;
images) shift
check_ptxconfig
- check_native
check_compiler
check_dirs
check_deps
- ptxd_make images 2>&1 | tee -a logfile
+ ptxd_make images 2>&1 | tee -a ${PLATFORMDIR}/logfile
check_pipe_status
exit 0
;;
install) shift
check_ptxconfig
check_if_selected $1
- check_native
check_compiler
check_dirs
check_deps
- ptxd_make $1_install 2>&1 | tee -a logfile
+ ptxd_make $1_install 2>&1 | tee -a ${PLATFORMDIR}/logfile
check_pipe_status
exit 0
;;
kernelconfig) shift
check_ptxconfig
- check_native
check_deps
ptxd_make kernel_menuconfig
check_pipe_status
@@ -1070,7 +1063,6 @@ while [ "$#" != "0" ]; do
;;
u_boot_config) shift
check_ptxconfig
- check_native
check_deps
ptxd_make u-boot-v2_menuconfig
check_pipe_status
@@ -1121,11 +1113,10 @@ while [ "$#" != "0" ]; do
;;
make) shift
check_ptxconfig
- check_native
check_compiler
check_dirs
check_deps
- ptxd_make $1 2>&1 | tee -a logfile
+ ptxd_make $1 2>&1 | tee -a ${PLATFORMDIR}/logfile
check_pipe_status
exit 0
;;
@@ -1134,16 +1125,12 @@ while [ "$#" != "0" ]; do
if test $# -eq 0; then
ptxd_kconfig true menuconfig_action
else
- check_native
check_deps
ptxd_make $1_menuconfig
fi
check_pipe_status
exit 0
;;
- --native) shift
- export NATIVE=1
- ;;
newpacket) # test if we are in a rules dir
if [ "`basename \`pwd\``" != "rules" ]; then
echo
@@ -1160,7 +1147,6 @@ while [ "$#" != "0" ]; do
if test $# -eq 0; then
ptxd_kconfig true oldconfig_action
else
- check_native
check_deps
ptxd_make $1_oldconfig
fi
@@ -1175,9 +1161,9 @@ while [ "$#" != "0" ]; do
fi
if [ -f "${PLATFORMCONFIG}" ]; then
echo
- echo -n "${PROMPT}warning: overwrite existing platformconfig [y/n]? "
+ echo -n "${PROMPT}warning: overwrite existing platformconfig [Y/n]? "
read answer
- if [ "$answer" != "y" ]; then
+ if [ "$answer" != "y" ] || [ "$answer" != "" ]; then
echo "interrupting"
echo
exit 1
@@ -1196,40 +1182,23 @@ while [ "$#" != "0" ]; do
prepare) shift
check_ptxconfig
check_if_selected $1
- check_native
check_compiler
check_dirs
check_deps
- ptxd_make $1_prepare 2>&1 | tee -a logfile
+ ptxd_make $1_prepare 2>&1 | tee -a ${PLATFORMDIR}/logfile
check_pipe_status
exit 0
;;
print) shift
check_ptxconfig
check_deps
- ptxd_make print-$1 2>&1 | tee -a logfile
+ ptxd_make print-$1 2>&1 | tee -a ${PLATFORMDIR}/logfile
check_pipe_status
shift
;;
projects) shift
projects
;;
- run) shift
- check_ptxconfig
- check_native
- check_compiler
- check_dirs
- check_deps
- ptxd_make world 2>&1 | tee -a logfile
- check_pipe_status
- RUN_ROOTMETHOD=$(. ${PTXCONFIG} && echo ${PTXCONF_KERNEL_NATIVE_ROOT_HOSTFS})
- RUN_CMDLINE=$(. ${PTXCONFIG} && echo ${PTXCONF_KERNEL_NATIVE_CMDLINE})
- if [ -n "${RUN_ROOTMETHOD}" ]; then
- RUN_CMDLINE="${RUN_CMDLINE} root=/dev/root rootflags=`pwd`/root rootfstype=hostfs"
- fi
- ${PTXDIST_WORKSPACE}/images/linuximage ${RUN_CMDLINE}
- exit 0
- ;;
select) shift
if [ ! -f "$1" ]; then
echo
@@ -1256,11 +1225,10 @@ while [ "$#" != "0" ]; do
targetinstall) shift
check_ptxconfig
check_if_selected $1
- check_native
check_compiler
check_dirs
check_deps
- ptxd_make $1_targetinstall 2>&1 | tee -a logfile
+ ptxd_make $1_targetinstall 2>&1 | tee -a ${PLATFORMDIR}/logfile
check_pipe_status
exit 0
;;
@@ -1312,6 +1280,20 @@ while [ "$#" != "0" ]; do
echo
exit 0
;;
+ --toolchain) shift
+ echo
+ TOOLCHAIN=$1
+ if [ ! -d "${TOOLCHAIN}" ]; then
+ echo
+ echo "${PROMPT}error: path ${TOOLCHAIN} does not exist"
+ echo
+ exit 1
+ fi
+ echo "${PROMPT}using toolchain in ${TOOLCHAIN}"
+ export PATH=${TOOLCHAIN}:$PATH
+ shift
+ echo
+ ;;
--version) echo ${FULLVERSION}
exit 0
;;
diff --git a/platforms/Kconfig b/platforms/Kconfig
index 60e91e5fb..7bdd84700 100644
--- a/platforms/Kconfig
+++ b/platforms/Kconfig
@@ -15,384 +15,14 @@ comment "Target Platform Configuration "
comment "------------------------------------"
config PLATFORM
- prompt "platform"
+ prompt "platform name"
string
help
This string identifies the platform.
-choice
- prompt "cpu architecture "
- help
- Specify which processor architecture you want to compile for.
-
- config ARCH_ALPHA
- bool "alpha "
- select HAS_MMU
- help
- This is support for the Alpha processor architecture.
-
- config ARCH_ARM
- bool "arm "
- select HAS_MMU
- help
- This is support for the ARM processor architecture.
-
- config ARCH_BLACKFIN
- bool "blackfin "
- help
- This is support for the blackfin processor.
-
- config ARCH_X86
- bool "x86 "
- select HAS_MMU
- help
- This is support for the Intel x86 architecture.
-
- config ARCH_PPC
- bool "ppc "
- select HAS_MMU
- help
- This is support for the PowerPC architecture.
-
- config ARCH_M68K
- bool "m68k "
- select HAS_MMU
- help
- This is support for the Motorola/Freescale M68k architecture.
-
- config ARCH_SPARC
- bool "sparc "
- select HAS_MMU
- help
- This is support for the SPARC architecture.
-
- config ARCH_MIPS
- bool "mips "
- select HAS_MMU
- help
- This is support for the MIPS architecture.
-
- config ARCH_CRIS
- bool "cris "
- select HAS_MMU
- help
- This is support for the cris architecture.
-
- config ARCH_PARISC
- bool "parisc "
- select HAS_MMU
- help
- This is support for the parisc architecture.
-
- config ARCH_SH
- bool "superh "
- select HAS_MMU
- help
- This is support for the SuperH architecture.
-endchoice
-
-choice
- prompt "arm SoC variant "
- depends on ARCH_ARM
- help
- The ARM processor architecture has a variety of flavours.
- Please chose one.
-
- config ARCH_ARM_ATMEL
- bool "atmel "
-
- config ARCH_ARM_AT91RM9200
- bool "at91rm9200"
-
- config ARM_ARM_EPXA
- bool "excalibur "
-
- config ARCH_ARM_IMX
- bool "i.mx "
-
- config ARCH_ARM_IXP2000
- bool "ixp2000 "
-
- config ARCH_ARM_NETARM
- bool "net+arm "
-
- config ARCH_ARM_NETX
- bool "netx "
-
- config ARCH_ARM_OMAP
- bool "omap "
-
- config ARCH_ARM_PXA
- bool "pxa "
-
- config ARCH_ARM_SA1100
- bool "sa1100 "
-
-endchoice
-
-#
-# architecture properties - generated without prompt
-#
-
-choice
- prompt "superh family "
- depends on ARCH_SH
-
- config ARCH_SH_SH3
- bool "sh3 "
-
- config ARCH_SH_SH4
- bool "sh4 "
-endchoice
-
-choice
- prompt "x86 optimization "
- depends on ARCH_X86
-
- config ARCH_X86_I386
- bool "386 "
- help
- The compiler will generate code for i386 CPUs as default. This code will
- run on almost all x86_32 processors.
-
- config ARCH_X86_I486
- bool "486 "
- help
- The compiler will generate code for i486 CPUs as default. This code will run
- on almost all x86/ia32 processors, but not on i386!
-
- config ARCH_X86_I586
- bool "586 "
- help
- The compiler will generate code for i586 class CPUs as default (Pentium).
- This code will run on almost all x86/ia32 processors, but not on i386 and i486!
-
- config ARCH_X86_I686
- bool "686 "
- help
- The compiler will generate code for i686 class CPUs as default (Pentium Pro).
- This code will run on almost all x86/ia32 processors, but not on i386, i486 and pentium!
-
- config ARCH_X86_P2
- bool "PII "
- help
- The compiler will generate code for Pentium II CPUs as default.
- This code will run on Pentium II and above CPUs.
-
- config ARCH_X86_P3M
- bool "PIII/M "
- help
- The compiler will generate code for Pentium III and Pentium M CPUs as default.
- This code will run on Pentium III and above CPUs. Note: A Pentium M is a successor
- of Pentium III (Pentium 4 is a dead end)
-
-endchoice
-
-
-#
-# endianess
-#
-
-choice
- prompt "endianess "
- depends on ARCH_MIPS || ARCH_SH
-
- config MENU_ENDIAN_BIG
- bool "big "
-
- config MENU_ENDIAN_LITTLE
- bool "little "
-
-endchoice
-
-config ENDIAN_BIG
- bool
- default y if MENU_ENDIAN_BIG
- default y if ARCH_ARM_IXP2000
- default y if ARCH_PPC
- default y if ARCH_M68K
- default y if ARCH_SPARC
- default y if ARCH_PARISC
-
-
-config ENDIAN_LITTLE
- bool
- default y if MENU_ENDIAN_LITTLE
- default y if ARCH_ARM_ATMEL
- default y if ARCH_ARM_AT91RM9200
- default y if ARCH_ARM_EPXA
- default y if ARCH_ARM_IMX
- default y if ARCH_ARM_NETARM
- default y if ARCH_ARM_NETX
- default y if ARCH_ARM_OMAP
- default y if ARCH_ARM_PXA
- default y if ARCH_ARM_SA1100
- default y if ARCH_ALPHA
- default y if ARCH_BLACKFIN
- default y if ARCH_X86
- default y if ARCH_CRIS
-
-
-#
-# memory management unit
-#
-
-config HAS_MMU
- bool
-
-config ARCH_STRING
- string
- default "arm" if ARCH_ARM
- default "armnommu" if ARCH_ARM && !HAS_MMU
- default "alpha" if ARCH_ALPHA
- default "blackfin" if ARCH_BLACKFIN
- default "i386" if ARCH_X86
- default "m68k" if ARCH_M68K
- default "ppc" if ARCH_PPC
- default "sparc" if ARCH_SPARC
- default "mips" if ARCH_MIPS
- default "mips" if ARCH_MIPSEL
- default "cris" if ARCH_CRIS
- default "parisc" if ARCH_PARISC
- default "sh" if ARCH_SH
-
-config ARCH_USERSPACE_STRING
- string
- default "arm" if ARCH_ARM && ENDIAN_LITTLE
- default "armeb" if ARCH_ARM && ENDIAN_BIG
- default "alpha" if ARCH_ALPHA
- default "blackfin" if ARCH_BLACKFIN
- default "i386" if ARCH_X86
- default "m68k" if ARCH_M68K
- default "powerpc" if ARCH_PPC
- default "sparc" if ARCH_SPARC
- default "mips" if ARCH_MIPS && ENDIAN_LITTLE
- default "mipsel" if ARCH_MIPS && ENDIAN_BIG
- default "cris" if ARCH_CRIS
- default "hppa" if ARCH_PARISC
- default "sh" if ARCH_SH
-
-# ----------------------------------------------------------------------------
-
-menu "extra toolchain options "
-
-config TARGET_EXTRA_CPPFLAGS
- string
- prompt "Extra CPPFLAGS (cpp)"
- help
- Extra options for the C preprocessor.
-
-config TARGET_EXTRA_CFLAGS
- string
- prompt "Extra CFLAGS (c)"
- help
- Extra options for the C compiler.
-
-config TARGET_EXTRA_CXXFLAGS
- string
- prompt "Extra CXXFLAGS (c++)"
- help
- Extra options for the C++ compiler.
-
-config TARGET_EXTRA_LDFLAGS
- string
- prompt "Extra LDFLAGS (ld)"
- help
- Extra options for the linker.
-
-endmenu
-
-
-menu "paths & directories "
-
-config PREFIX
- prompt "prefix for \"install\" stage"
- string
- default "${PTXDIST_WORKSPACE}/local"
- help
- This directory is being used to install things during the "install"
- stage of PTXdist. It usually contains host tools and libraries which
- are needed to link programs.
-
- A sane default for this is ${PTXDIST_WORKSPACE}/local. Use this one
- unless you do exactly know what you are doing.
-
- PTXdist uses a sysroot/destdir mechanism, which means that packets
- are being installed with
-
- make install DESTDIR=$(SYSROOT)
-
-config HOST_PREFIX
- string
- default "${PTXCONF_PREFIX}-host"
-
-config CROSS_PREFIX
- string
- default "${PTXCONF_PREFIX}-cross"
-
-endmenu
-
-
-menu "toolchain "
-
-config CROSSCHAIN_VENDOR
- string
- prompt "check for specific toolchain vendor"
- default ""
- help
- Add here an unique vendor string to ensure this project will
- be build with the correct toolchain.
- Leave this entry empty to omit this check.
- To use this feature add a file called 'ptxconfig' to the bin/ folder of
- your toolchain. This file should contain at least one variable definition:
- PTXCONF_PROJECT="insert-vendor-string-here"
- The string defined here will be checked against the string defined in
- PTXCONF_PROJECT in file 'ptxconfig' from the toolchain.
-
-config CROSSCHAIN_CHECK
- string
- prompt "check for specific gcc version"
- default "4.1.2"
- help
- PTXdist calls your cross compiler with -dumpversion and
- compares the output with this string. This should help
- to avoid compilation with the wrong compiler version
- when you use your own external toolchain.
-
-config GNU_TARGET
- string
- prompt "gnu target"
- help
- Defines the GNU target for your cross build.
-
-config COMPILER_PREFIX
- string
- prompt "compiler prefix"
- default "${PTXCONF_GNU_TARGET}-"
- help
- This is the prefix used to create the correct cross compiler name. If the
- prefix is equal to the GNU Target you can use "${PTXCONF_GNU_TARGET}-" to
- use it.
-
-config COMPILER_PREFIX_KERNEL
- string
- prompt "compiler prefix (kernel)"
- default "${PTXCONF_COMPILER_PREFIX}"
- help
- This is the prefix used to create the correct cross compiler
- name used to compile the kernel. If the prefix equals the
- normal compiler you can use "${PTXCONF_COMPILER_PREFIX}".
-
-config COMPILER_PREFIX_UBOOT
- string
- prompt "compiler prefix (u-boot)"
- default "${PTXCONF_COMPILER_PREFIX}"
- help
- This is the prefix used to create the correct cross compiler
- name used to compile the u-boot. If the prefix equals the
- normal compiler you can use "${PTXCONF_COMPILER_PREFIX}".
-
-endmenu
-
+source "platforms/architecture.in"
source "platforms/kernel.in"
+source "platforms/console.in"
source "platforms/u-boot-v2.in"
+source "platforms/images.in"
+
diff --git a/platforms/architecture.in b/platforms/architecture.in
new file mode 100644
index 000000000..00bbd8eee
--- /dev/null
+++ b/platforms/architecture.in
@@ -0,0 +1,378 @@
+menu "architecture "
+
+choice
+ prompt "cpu architecture "
+ help
+ Specify which processor architecture you want to compile for.
+
+ config ARCH_ALPHA
+ bool "alpha "
+ select HAS_MMU
+ help
+ This is support for the Alpha processor architecture.
+
+ config ARCH_ARM
+ bool "arm "
+ select HAS_MMU
+ help
+ This is support for the ARM processor architecture.
+
+ config ARCH_BLACKFIN
+ bool "blackfin "
+ help
+ This is support for the blackfin processor.
+
+ config ARCH_X86
+ bool "x86 "
+ select HAS_MMU
+ help
+ This is support for the Intel x86 architecture.
+
+ config ARCH_PPC
+ bool "ppc "
+ select HAS_MMU
+ help
+ This is support for the PowerPC architecture.
+
+ config ARCH_M68K
+ bool "m68k "
+ select HAS_MMU
+ help
+ This is support for the Motorola/Freescale M68k architecture.
+
+ config ARCH_SPARC
+ bool "sparc "
+ select HAS_MMU
+ help
+ This is support for the SPARC architecture.
+
+ config ARCH_MIPS
+ bool "mips "
+ select HAS_MMU
+ help
+ This is support for the MIPS architecture.
+
+ config ARCH_CRIS
+ bool "cris "
+ select HAS_MMU
+ help
+ This is support for the cris architecture.
+
+ config ARCH_PARISC
+ bool "parisc "
+ select HAS_MMU
+ help
+ This is support for the parisc architecture.
+
+ config ARCH_SH
+ bool "superh "
+ select HAS_MMU
+ help
+ This is support for the SuperH architecture.
+endchoice
+
+choice
+ prompt "arm SoC variant "
+ depends on ARCH_ARM
+ help
+ The ARM processor architecture has a variety of flavours.
+ Please chose one.
+
+ config ARCH_ARM_ATMEL
+ bool "atmel "
+
+ config ARCH_ARM_AT91RM9200
+ bool "at91rm9200"
+
+ config ARM_ARM_EPXA
+ bool "excalibur "
+
+ config ARCH_ARM_IMX
+ bool "i.mx "
+
+ config ARCH_ARM_IXP2000
+ bool "ixp2000 "
+
+ config ARCH_ARM_NETARM
+ bool "net+arm "
+
+ config ARCH_ARM_NETX
+ bool "netx "
+
+ config ARCH_ARM_OMAP
+ bool "omap "
+
+ config ARCH_ARM_PXA
+ bool "pxa "
+
+ config ARCH_ARM_SA1100
+ bool "sa1100 "
+
+endchoice
+
+#
+# architecture properties - generated without prompt
+#
+
+choice
+ prompt "superh family "
+ depends on ARCH_SH
+
+ config ARCH_SH_SH3
+ bool "sh3 "
+
+ config ARCH_SH_SH4
+ bool "sh4 "
+endchoice
+
+choice
+ prompt "x86 optimization "
+ depends on ARCH_X86
+
+ config ARCH_X86_I386
+ bool "386 "
+ help
+ The compiler will generate code for i386 CPUs as default. This code will
+ run on almost all x86_32 processors.
+
+ config ARCH_X86_I486
+ bool "486 "
+ help
+ The compiler will generate code for i486 CPUs as default. This code will run
+ on almost all x86/ia32 processors, but not on i386!
+
+ config ARCH_X86_I586
+ bool "586 "
+ help
+ The compiler will generate code for i586 class CPUs as default (Pentium).
+ This code will run on almost all x86/ia32 processors, but not on i386 and i486!
+
+ config ARCH_X86_I686
+ bool "686 "
+ help
+ The compiler will generate code for i686 class CPUs as default (Pentium Pro).
+ This code will run on almost all x86/ia32 processors, but not on i386, i486 and pentium!
+
+ config ARCH_X86_P2
+ bool "PII "
+ help
+ The compiler will generate code for Pentium II CPUs as default.
+ This code will run on Pentium II and above CPUs.
+
+ config ARCH_X86_P3M
+ bool "PIII/M "
+ help
+ The compiler will generate code for Pentium III and Pentium M CPUs as default.
+ This code will run on Pentium III and above CPUs. Note: A Pentium M is a successor
+ of Pentium III (Pentium 4 is a dead end)
+
+endchoice
+
+
+#
+# endianess
+#
+
+choice
+ prompt "endianess "
+ depends on ARCH_MIPS || ARCH_SH
+
+ config MENU_ENDIAN_BIG
+ bool "big "
+
+ config MENU_ENDIAN_LITTLE
+ bool "little "
+
+endchoice
+
+config ENDIAN_BIG
+ bool
+ default y if MENU_ENDIAN_BIG
+ default y if ARCH_ARM_IXP2000
+ default y if ARCH_PPC
+ default y if ARCH_M68K
+ default y if ARCH_SPARC
+ default y if ARCH_PARISC
+
+
+config ENDIAN_LITTLE
+ bool
+ default y if MENU_ENDIAN_LITTLE
+ default y if ARCH_ARM_ATMEL
+ default y if ARCH_ARM_AT91RM9200
+ default y if ARCH_ARM_EPXA
+ default y if ARCH_ARM_IMX
+ default y if ARCH_ARM_NETARM
+ default y if ARCH_ARM_NETX
+ default y if ARCH_ARM_OMAP
+ default y if ARCH_ARM_PXA
+ default y if ARCH_ARM_SA1100
+ default y if ARCH_ALPHA
+ default y if ARCH_BLACKFIN
+ default y if ARCH_X86
+ default y if ARCH_CRIS
+
+
+#
+# memory management unit
+#
+
+config HAS_MMU
+ bool
+
+config ARCH_STRING
+ string
+ default "arm" if ARCH_ARM
+ default "armnommu" if ARCH_ARM && !HAS_MMU
+ default "alpha" if ARCH_ALPHA
+ default "blackfin" if ARCH_BLACKFIN
+ default "i386" if ARCH_X86
+ default "m68k" if ARCH_M68K
+ default "ppc" if ARCH_PPC
+ default "sparc" if ARCH_SPARC
+ default "mips" if ARCH_MIPS
+ default "mips" if ARCH_MIPSEL
+ default "cris" if ARCH_CRIS
+ default "parisc" if ARCH_PARISC
+ default "sh" if ARCH_SH
+
+config ARCH_USERSPACE_STRING
+ string
+ default "arm" if ARCH_ARM && ENDIAN_LITTLE
+ default "armeb" if ARCH_ARM && ENDIAN_BIG
+ default "alpha" if ARCH_ALPHA
+ default "blackfin" if ARCH_BLACKFIN
+ default "i386" if ARCH_X86
+ default "m68k" if ARCH_M68K
+ default "powerpc" if ARCH_PPC
+ default "sparc" if ARCH_SPARC
+ default "mips" if ARCH_MIPS && ENDIAN_LITTLE
+ default "mipsel" if ARCH_MIPS && ENDIAN_BIG
+ default "cris" if ARCH_CRIS
+ default "hppa" if ARCH_PARISC
+ default "sh" if ARCH_SH
+
+# ----------------------------------------------------------------------------
+
+menu "extra toolchain options "
+
+config TARGET_EXTRA_CPPFLAGS
+ string
+ prompt "Extra CPPFLAGS (cpp)"
+ help
+ Extra options for the C preprocessor.
+
+config TARGET_EXTRA_CFLAGS
+ string
+ prompt "Extra CFLAGS (c)"
+ help
+ Extra options for the C compiler.
+
+config TARGET_EXTRA_CXXFLAGS
+ string
+ prompt "Extra CXXFLAGS (c++)"
+ help
+ Extra options for the C++ compiler.
+
+config TARGET_EXTRA_LDFLAGS
+ string
+ prompt "Extra LDFLAGS (ld)"
+ help
+ Extra options for the linker.
+
+endmenu
+
+
+menu "paths & directories "
+
+config SYSROOT_TARGET
+ prompt "sysroot for target"
+ string
+ default "${PTXDIST_WORKSPACE}/${PTXDIST_PLATFORM_PREFIX}${PTXCONF_PLATFORM}/sysroot-target"
+ help
+ The SYSROOT_TARGET directory is the SYSROOT for all files being
+ installed for the 'target' system. A sane default for this is
+
+ ${PTXDIST_WORKSPACE}/${PTXDIST_PLATFORM_PREFIX}${PTXCONF_PLATFORM}/sysroot-target.
+
+ Use this one unless you do exactly know what you are doing.
+
+ PTXdist uses a sysroot/destdir mechanism, which means that packets
+ are being installed with
+
+ make install DESTDIR=$(SYSROOT)
+
+config SYSROOT_HOST
+ string
+ default "${PTXDIST_WORKSPACE}/${PTXDIST_PLATFORM_PREFIX}${PTXCONF_PLATFORM}/sysroot-host"
+
+config SYSROOT_CROSS
+ string
+ default "${PTXDIST_WORKSPACE}/${PTXDIST_PLATFORM_PREFIX}${PTXCONF_PLATFORM}/sysroot-cross"
+
+endmenu
+
+
+menu "toolchain "
+
+config CROSSCHAIN_VENDOR
+ string
+ prompt "check for specific toolchain vendor"
+ default ""
+ help
+ Add here an unique vendor string to ensure this project will
+ be build with the correct toolchain.
+ Leave this entry empty to omit this check.
+ To use this feature add a file called 'ptxconfig' to the bin/ folder of
+ your toolchain. This file should contain at least one variable definition:
+ PTXCONF_PROJECT="insert-vendor-string-here"
+ The string defined here will be checked against the string defined in
+ PTXCONF_PROJECT in file 'ptxconfig' from the toolchain.
+
+config CROSSCHAIN_CHECK
+ string
+ prompt "check for specific gcc version"
+ default "4.1.2"
+ help
+ PTXdist calls your cross compiler with -dumpversion and
+ compares the output with this string. This should help
+ to avoid compilation with the wrong compiler version
+ when you use your own external toolchain.
+
+config GNU_TARGET
+ string
+ prompt "gnu target"
+ help
+ Defines the GNU target for your cross build.
+
+config COMPILER_PREFIX
+ string
+ prompt "compiler prefix"
+ default "${PTXCONF_GNU_TARGET}-"
+ help
+ This is the prefix used to create the correct cross compiler name. If the
+ prefix is equal to the GNU Target you can use "${PTXCONF_GNU_TARGET}-" to
+ use it.
+
+config COMPILER_PREFIX_KERNEL
+ string
+ prompt "compiler prefix (kernel)"
+ default "${PTXCONF_COMPILER_PREFIX}"
+ help
+ This is the prefix used to create the correct cross compiler
+ name used to compile the kernel. If the prefix equals the
+ normal compiler you can use "${PTXCONF_COMPILER_PREFIX}".
+
+config COMPILER_PREFIX_UBOOT
+ string
+ prompt "compiler prefix (u-boot)"
+ default "${PTXCONF_COMPILER_PREFIX}"
+ help
+ This is the prefix used to create the correct cross compiler
+ name used to compile the u-boot. If the prefix equals the
+ normal compiler you can use "${PTXCONF_COMPILER_PREFIX}".
+
+endmenu
+
+endmenu
+
diff --git a/platforms/console.in b/platforms/console.in
new file mode 100644
index 000000000..c3bce0458
--- /dev/null
+++ b/platforms/console.in
@@ -0,0 +1,17 @@
+menu "console options "
+
+config CONSOLE_NAME
+ string
+ prompt "console name"
+ help
+ Name of the system console, e.g. tty0 or ttyS0
+
+config CONSOLE_SPEED
+ string
+ prompt "console speed"
+ help
+ Speed of the system console; for consoles that don't
+ have a speed, please enter an arbitrary value.
+
+endmenu
+
diff --git a/rules/images.in b/platforms/images.in
index b73f38578..2b929ca85 100644
--- a/rules/images.in
+++ b/platforms/images.in
@@ -1,6 +1,4 @@
-##############################################################################
-comment "Image Creation for Target"
-##############################################################################
+menu "image creation options "
config IMAGE_TGZ
bool
@@ -282,3 +280,5 @@ config IMAGE_EXT2_GZIP
help
FIXME: This item needs to be documented
+endmenu
+
diff --git a/platforms/kernel.in b/platforms/kernel.in
index 322edaaa3..127734fae 100644
--- a/platforms/kernel.in
+++ b/platforms/kernel.in
@@ -1,11 +1,39 @@
-menu "Linux kernel "
+menuconfig KERNEL
+ bool
+ prompt "Linux kernel "
+
+config KERNEL_INSTALL
+ bool
+ prompt "install kernel into /boot"
+ depends on KERNEL
+
+config KERNEL_MODULES
+ bool
+ depends on KERNEL
+ default y
+ prompt "build kernel-modules"
+
+config KERNEL_MODULES_INSTALL
+ bool
+ default y
+ prompt "Install modules into /lib/modules"
+ depends on KERNEL
+ depends on KERNEL_MODULES
+
+config KERNEL_MODULES_BUILD
+ depends on KERNEL
+ depends on KERNEL_MODULES
+ string
+ default "modules"
config KERNEL_VERSION
+ depends on KERNEL
prompt "kernel version"
string
choice
prompt "kernel architecture "
+ depends on KERNEL
depends on ARCH_PPC || ARCH_X86
default KERNEL_ARCH_POWERPC if ARCH_PPC
default KERNEL_ARCH_X86 if ARCH_X86
@@ -45,6 +73,7 @@ choice
endchoice
config KERNEL_ARCH_STRING
+ depends on KERNEL
string
default "arm" if ARCH_ARM
default "armnommu" if ARCH_ARM && !HAS_MMU
@@ -65,8 +94,10 @@ config KERNEL_ARCH_STRING
default "x86_64" if KERNEL_ARCH_X86_64
menu "patching & configuration "
+ depends on KERNEL
config KERNEL_SERIES
+ depends on KERNEL
prompt "patch series file"
string
default ""
@@ -78,6 +109,7 @@ config KERNEL_SERIES
are then being applied to the kernel.
config KERNEL_CONFIG
+ depends on KERNEL
prompt "kernel config file"
string
default "kernelconfig.target"
@@ -90,45 +122,46 @@ endmenu
# FIXME make this architecture dependend
choice
+ depends on KERNEL
prompt "Image Type "
default KERNEL_IMAGE_BZ
-config KERNEL_IMAGE_BZ
- bool
- prompt "bzImage"
- help
- This usually is the target to be used on ia32 platforms. It
- is not limited in size (to be more precise: Limited up to 4MiB).
+ config KERNEL_IMAGE_BZ
+ bool
+ prompt "bzImage"
+ help
+ This usually is the target to be used on ia32 platforms. It
+ is not limited in size (to be more precise: Limited up to 4MiB).
-config KERNEL_IMAGE_Z
- bool
- prompt "zImage "
- help
- This usually is a target to be used on ia32 platforms, it
- is the older format and limited to about 500k in size due to
- low memory size restrictions.
+ config KERNEL_IMAGE_Z
+ bool
+ prompt "zImage "
+ help
+ This usually is a target to be used on ia32 platforms, it
+ is the older format and limited to about 500k in size due to
+ low memory size restrictions.
-config KERNEL_IMAGE_U
- bool
- prompt "uImage "
- help
- This is the target for most non ia32 platforms like PowerPC
- and ARM architectures. Its a compressed image with additional
- embedded information.
+ config KERNEL_IMAGE_U
+ bool
+ prompt "uImage "
+ help
+ This is the target for most non ia32 platforms like PowerPC
+ and ARM architectures. Its a compressed image with additional
+ embedded information.
-config KERNEL_IMAGE_VM
- bool
- prompt "vmImage"
- help
- This is the target for most non ia32 platforms like blackfin
- architectures.
+ config KERNEL_IMAGE_VM
+ bool
+ prompt "vmImage"
+ help
+ This is the target for most non ia32 platforms like blackfin
+ architectures.
-config KERNEL_IMAGE_VMLINUX
- bool
- prompt "vmlinux"
- help
- This is the target to get the kernel image as an ELF. Mostly
- used for debugging purposes.
+ config KERNEL_IMAGE_VMLINUX
+ bool
+ prompt "vmlinux"
+ help
+ This is the target to get the kernel image as an ELF. Mostly
+ used for debugging purposes.
endchoice
@@ -137,6 +170,7 @@ endchoice
#
config KERNEL_IMAGE
+ depends on KERNEL
string
default "bzImage" if KERNEL_IMAGE_BZ
default "zImage" if KERNEL_IMAGE_Z
@@ -144,4 +178,3 @@ config KERNEL_IMAGE
default "vmImage" if KERNEL_IMAGE_VM
default "vmlinux" if KERNEL_IMAGE_VMLINUX
-endmenu
diff --git a/rules/Kconfig b/rules/Kconfig
index d9bfea4ef..2b102bf13 100644
--- a/rules/Kconfig
+++ b/rules/Kconfig
@@ -29,10 +29,6 @@ endmenu
comment "------------------------------------"
-menu "Image Creation Options "
-source "rules/images.in"
-endmenu
-
menu "Root Filesystem "
source "rules/rootfs.in"
source "rules/rootfs_init_d_files.in"
@@ -41,8 +37,8 @@ source "rules/rootfs_configfiles.in"
endmenu
menu "Core (Kernel, libc, locales) "
+source "rules/platforms.in"
source "rules/klibc.in"
-source "rules/kernel.in"
source "rules/dtc.in"
source "rules/libc.in"
source "rules/gcclibs.in"
diff --git a/rules/apache2_mod_python.make b/rules/apache2_mod_python.make
index a1b68ea8f..c9717a18e 100644
--- a/rules/apache2_mod_python.make
+++ b/rules/apache2_mod_python.make
@@ -67,7 +67,7 @@ APACHE2_MOD_PYTHON_ENV := $(CROSS_ENV)
APACHE2_MOD_PYTHON_AUTOCONF = \
$(CROSS_AUTOCONF_USR) \
--with-apxs=$(SYSROOT)/usr/bin/apxs \
- --with-python=$(PTXCONF_HOST_PREFIX)/bin/python
+ --with-python=$(PTXCONF_SYSROOT_HOST)/bin/python
$(STATEDIR)/apache2_mod_python.prepare: $(apache2_mod_python_prepare_deps_default)
@$(call targetinfo, $@)
diff --git a/rules/commoncpp2.make b/rules/commoncpp2.make
index 028bea6d8..83f513598 100644
--- a/rules/commoncpp2.make
+++ b/rules/commoncpp2.make
@@ -102,7 +102,7 @@ commoncpp2_install: $(STATEDIR)/commoncpp2.install
$(STATEDIR)/commoncpp2.install: $(commoncpp2_install_deps_default)
@$(call targetinfo, $@)
@$(call install, COMMONCPP2)
- install -m755 -D $(COMMONCPP2_DIR)/src/ccgnu2-config $(PTXCONF_HOST_PREFIX)/bin/ccgnu2-config
+ install -m755 -D $(COMMONCPP2_DIR)/src/ccgnu2-config $(PTXCONF_SYSROOT_HOST)/bin/ccgnu2-config
@$(call touch, $@)
# ----------------------------------------------------------------------------
diff --git a/rules/cross-insight.make b/rules/cross-insight.make
index 96271dd01..a17a61f47 100644
--- a/rules/cross-insight.make
+++ b/rules/cross-insight.make
@@ -64,7 +64,7 @@ CROSS_INSIGHT_ENV := $(HOST_ENV)
# autoconf
#
CROSS_INSIGHT_AUTOCONF := --target=$(PTXCONF_GNU_TARGET) \
- --prefix=$(PTX_PREFIX_CROSS)
+ --prefix=$(PTXCONF_SYSROOT_CROSS)
$(STATEDIR)/cross-insight.prepare: $(cross-insight_prepare_deps_default)
@$(call targetinfo, $@)
diff --git a/rules/cross-module-init-tools.make b/rules/cross-module-init-tools.make
index 25f73fba0..d1bd6dabc 100644
--- a/rules/cross-module-init-tools.make
+++ b/rules/cross-module-init-tools.make
@@ -55,7 +55,7 @@ CROSS_MODULE_INIT_TOOLS_ENV := $(HOST_ENV)
# autoconf
#
CROSS_MODULE_INIT_TOOLS_AUTOCONF := \
- --prefix=$(PTXCONF_PREFIX) \
+ --prefix=$(PTXCONF_SYSROOT_CROSS) \
--build=$(GNU_HOST) \
--host=$(GNU_HOST) \
--target=$(PTXCONF_GNU_TARGET)
@@ -87,7 +87,7 @@ cross-module-init-tools_install: $(STATEDIR)/cross-module-init-tools.install
$(STATEDIR)/cross-module-init-tools.install: $(cross-module-init-tools_install_deps_default)
@$(call targetinfo, $@)
- install -D -m 755 $(CROSS_MODULE_INIT_TOOLS_DIR)/depmod $(PTXCONF_CROSS_PREFIX)/sbin/$(PTXCONF_GNU_TARGET)-depmod
+ install -D -m 755 $(CROSS_MODULE_INIT_TOOLS_DIR)/depmod $(PTXCONF_SYSROOT_CROSS)/sbin/$(PTXCONF_GNU_TARGET)-depmod
@$(call touch, $@)
# ----------------------------------------------------------------------------
diff --git a/rules/cross-nasm.make b/rules/cross-nasm.make
index 3808665f1..9bd486934 100644
--- a/rules/cross-nasm.make
+++ b/rules/cross-nasm.make
@@ -66,7 +66,7 @@ CROSS_NASM_ENV := $(HOSTCC_ENV)
# autoconf
#
CROSS_NASM_AUTOCONF := \
- --prefix=$(PTXCONF_PREFIX)/gcc-$(GCC_VERSION)-glibc-$(GLIBC_VERSION)/$(PTXCONF_GNU_TARGET) \
+ --prefix=$(PTXCONF_SYSROOT_CROSS) \
--target=$(PTXCONF_GNU_TARGET) \
--host=$(GNU_HOST) \
--build=$(GNU_HOST)
diff --git a/rules/cross-pkg-config-wrapper.make b/rules/cross-pkg-config-wrapper.make
index 66e72c7cf..8f710edf7 100644
--- a/rules/cross-pkg-config-wrapper.make
+++ b/rules/cross-pkg-config-wrapper.make
@@ -69,8 +69,8 @@ cross-pkg-config-wrapper_install: $(STATEDIR)/cross-pkg-config-wrapper.install
$(STATEDIR)/cross-pkg-config-wrapper.install: $(cross-pkg-config-wrapper_install_deps_default)
@$(call targetinfo, $@)
- install -D -m755 $(SCRIPTSDIR)/pkg-config-wrapper $(PTX_PREFIX_CROSS)/bin/pkg-config
- install -D -m755 $(SCRIPTSDIR)/pkg-config-wrapper $(PTX_PREFIX_CROSS)/bin/$(COMPILER_PREFIX)pkg-config
+ install -D -m755 $(SCRIPTSDIR)/pkg-config-wrapper $(PTXCONF_SYSROOT_CROSS)/bin/pkg-config
+ install -D -m755 $(SCRIPTSDIR)/pkg-config-wrapper $(PTXCONF_SYSROOT_CROSS)/bin/$(COMPILER_PREFIX)pkg-config
@$(call touch, $@)
# ----------------------------------------------------------------------------
diff --git a/rules/flash.make b/rules/flash.make
index 4c2e27804..5b2a4341a 100644
--- a/rules/flash.make
+++ b/rules/flash.make
@@ -66,7 +66,7 @@ $(STATEDIR)/flash.extract: $(flash_extract_deps_default)
flash_prepare: $(STATEDIR)/flash.prepare
# FIXME: rsc: why this strange path?
-FLASH_PATH = PATH=$(PTXCONF_PREFIX)/$(AUTOCONF257)/bin:$(CROSS_PATH)
+FLASH_PATH = PATH=$(PTXCONF_SYSROOT_TARGET)/$(AUTOCONF257)/bin:$(CROSS_PATH)
FLASH_ENV = $(CROSS_ENV)
#
diff --git a/rules/freetype.make b/rules/freetype.make
index 64ca00599..501241c9e 100644
--- a/rules/freetype.make
+++ b/rules/freetype.make
@@ -95,7 +95,7 @@ $(STATEDIR)/freetype.install:
@$(call targetinfo, $@)
@$(call install, FREETYPE)
$(INSTALL) -m 755 -D $(FREETYPE_DIR)/builds/unix/freetype-config \
- $(PTX_PREFIX_CROSS)/bin/freetype-config
+ $(PTXCONF_SYSROOT_CROSS)/bin/freetype-config
@$(call touch, $@)
# ----------------------------------------------------------------------------
diff --git a/rules/gdb-wrapper.make b/rules/gdb-wrapper.make
index 9b647357d..0533f9525 100644
--- a/rules/gdb-wrapper.make
+++ b/rules/gdb-wrapper.make
@@ -68,27 +68,27 @@ $(STATEDIR)/gdb-wrapper.install: $(gdb_wrapper_install_deps_default)
@$(call targetinfo, $@)
# let gdb find the target libraries for remote cross debugging
- install -d $(PTXCONF_PREFIX)/etc
- rm -f $(PTXCONF_PREFIX)/etc/gdbrc
- echo "set solib-search-path $(ROOTDIR)/lib:$(ROOTDIR)/usr/lib" >> $(PTXCONF_PREFIX)/etc/gdbrc
- echo "set solib-absolute-prefix $(ROOTDIR)" >> $(PTXCONF_PREFIX)/etc/gdbrc
+ install -d $(PTXCONF_SYSROOT_TARGET)/etc
+ rm -f $(PTXCONF_SYSROOT_TARGET)/etc/gdbrc
+ echo "set solib-search-path $(ROOTDIR)/lib:$(ROOTDIR)/usr/lib" >> $(PTXCONF_SYSROOT_TARGET)/etc/gdbrc
+ echo "set solib-absolute-prefix $(ROOTDIR)" >> $(PTXCONF_SYSROOT_TARGET)/etc/gdbrc
# make gdb wrapper
- install -d $(PTXCONF_PREFIX)/bin
- rm -f $(PTXCONF_PREFIX)/bin/$(PTXCONF_GNU_TARGET)-crossgdb
+ install -d $(PTXCONF_SYSROOT_TARGET)/bin
+ rm -f $(PTXCONF_SYSROOT_TARGET)/bin/$(PTXCONF_GNU_TARGET)-crossgdb
echo "#!/bin/sh" >> \
- $(PTXCONF_PREFIX)/bin/$(PTXCONF_GNU_TARGET)-crossgdb
- echo "$(PTXCONF_GNU_TARGET)-gdb -x $(PTXCONF_PREFIX)/etc/gdbrc \$$@" >> \
- $(PTXCONF_PREFIX)/bin/$(PTXCONF_GNU_TARGET)-crossgdb
- chmod 755 $(PTXCONF_PREFIX)/bin/$(PTXCONF_GNU_TARGET)-crossgdb
+ $(PTXCONF_SYSROOT_TARGET)/bin/$(PTXCONF_GNU_TARGET)-crossgdb
+ echo "$(PTXCONF_GNU_TARGET)-gdb -x $(PTXCONF_SYSROOT_TARGET)/etc/gdbrc \$$@" >> \
+ $(PTXCONF_SYSROOT_TARGET)/bin/$(PTXCONF_GNU_TARGET)-crossgdb
+ chmod 755 $(PTXCONF_SYSROOT_TARGET)/bin/$(PTXCONF_GNU_TARGET)-crossgdb
# make ddd wrapper
- rm -f $(PTXCONF_PREFIX)/bin/$(PTXCONF_GNU_TARGET)-crossddd
+ rm -f $(PTXCONF_SYSROOT_TARGET)/bin/$(PTXCONF_GNU_TARGET)-crossddd
echo "#!/bin/sh" >> \
- $(PTXCONF_PREFIX)/bin/$(PTXCONF_GNU_TARGET)-crossddd
- echo "ddd --debugger $(PTXCONF_PREFIX)/bin/$(PTXCONF_GNU_TARGET)-crossgdb \$$@" >> \
- $(PTXCONF_PREFIX)/bin/$(PTXCONF_GNU_TARGET)-crossddd
- chmod 755 $(PTXCONF_PREFIX)/bin/$(PTXCONF_GNU_TARGET)-crossddd
+ $(PTXCONF_SYSROOT_TARGET)/bin/$(PTXCONF_GNU_TARGET)-crossddd
+ echo "ddd --debugger $(PTXCONF_SYSROOT_TARGET)/bin/$(PTXCONF_GNU_TARGET)-crossgdb \$$@" >> \
+ $(PTXCONF_SYSROOT_TARGET)/bin/$(PTXCONF_GNU_TARGET)-crossddd
+ chmod 755 $(PTXCONF_SYSROOT_TARGET)/bin/$(PTXCONF_GNU_TARGET)-crossddd
@$(call touch, $@)
diff --git a/rules/grub.make b/rules/grub.make
index a590d34ee..424de8f93 100644
--- a/rules/grub.make
+++ b/rules/grub.make
@@ -69,7 +69,7 @@ GRUB_ENV := $(CROSS_ENV) CFLAGS=''
GRUB_AUTOCONF := $(CROSS_AUTOCONF_USR)
GRUB_AUTOCONF += --target=$(PTXCONF_GNU_TARGET)
# FIXME FIXME FIXME
-GRUB_AUTOCONF += --prefix=$(PTXCONF_PREFIX)
+GRUB_AUTOCONF += --prefix=$(PTXCONF_SYSROOT_TARGET)
ifdef PTXCONF_GRUB_EXT2FS
GRUB_AUTOCONF += --enable-ext2fs
diff --git a/rules/host-cramfs.make b/rules/host-cramfs.make
index ee983fea1..7592a3728 100644
--- a/rules/host-cramfs.make
+++ b/rules/host-cramfs.make
@@ -90,8 +90,8 @@ host-cramfs_install: $(STATEDIR)/host-cramfs.install
$(STATEDIR)/host-cramfs.install: $(host-cramfs_install_deps_default)
@$(call targetinfo, $@)
- cp $(HOST_CRAMFS_DIR)/mkcramfs $(PTXCONF_HOST_PREFIX)/bin
- cp $(HOST_CRAMFS_DIR)/cramfsck $(PTXCONF_HOST_PREFIX)/bin
+ cp $(HOST_CRAMFS_DIR)/mkcramfs $(PTXCONF_SYSROOT_HOST)/bin
+ cp $(HOST_CRAMFS_DIR)/cramfsck $(PTXCONF_SYSROOT_HOST)/bin
@$(call touch, $@)
# ----------------------------------------------------------------------------
diff --git a/rules/host-dtc.make b/rules/host-dtc.make
index 8a2819781..314328fc6 100644
--- a/rules/host-dtc.make
+++ b/rules/host-dtc.make
@@ -83,7 +83,7 @@ host-dtc_install: $(STATEDIR)/host-dtc.install
$(STATEDIR)/host-dtc.install: $(host-dtc_install_deps_default)
@$(call targetinfo, $@)
- cp $(HOST_DTC_DIR)/dtc $(PTXCONF_HOST_PREFIX)/bin/dtc
+ cp $(HOST_DTC_DIR)/dtc $(PTXCONF_SYSROOT_HOST)/bin/dtc
@$(call touch, $@)
# ----------------------------------------------------------------------------
diff --git a/rules/host-flex254.make b/rules/host-flex254.make
index 8d2822e29..da817daa6 100644
--- a/rules/host-flex254.make
+++ b/rules/host-flex254.make
@@ -55,7 +55,7 @@ HOST_FLEX254_ENV = $(HOSTCC_ENV)
#
# autoconf, but without automake :-(
#
-HOST_FLEX254_AUTOCONF = --prefix=$(PTXCONF_PREFIX)/usr
+HOST_FLEX254_AUTOCONF = --prefix=$(PTXCONF_SYSROOT_HOST)
$(STATEDIR)/host-flex254.prepare: $(host-flex254_prepare_deps_default)
@$(call targetinfo, $@)
diff --git a/rules/host-fontconfig.make b/rules/host-fontconfig.make
index c26290579..7c3d4a8e6 100644
--- a/rules/host-fontconfig.make
+++ b/rules/host-fontconfig.make
@@ -59,7 +59,7 @@ HOST_FONTCONFIG_ENV := \
HOST_FONTCONFIG_AUTOCONF := \
$(HOST_AUTOCONF) \
--disable-docs \
- --with-cache-dir=$(PTX_PREFIX_HOST)/var/cache/fontconfig \
+ --with-cache-dir=$(PTXCONF_SYSROOT_HOST)/var/cache/fontconfig \
--with-default-fonts=$(XORG_FONTDIR) \
--with-arch=$(PTXCONF_ARCH_STRING)
diff --git a/rules/host-ipkg-utils.make b/rules/host-ipkg-utils.make
index bc70ff919..bc7671707 100644
--- a/rules/host-ipkg-utils.make
+++ b/rules/host-ipkg-utils.make
@@ -59,7 +59,7 @@ host-ipkg-utils_prepare: $(STATEDIR)/host-ipkg-utils.prepare
HOST_IPKG_UTILS_PATH := PATH=$(HOST_PATH)
HOST_IPKG_UTILS_ENV := $(HOST_ENV)
-HOST_IPKG_UTILS_MAKEVARS := PREFIX=$(PTX_PREFIX_HOST)
+HOST_IPKG_UTILS_MAKEVARS := PREFIX=$(PTXCONF_SYSROOT_HOST)
$(STATEDIR)/host-ipkg-utils.prepare: $(host-ipkg-utils_prepare_deps_default)
@$(call targetinfo, $@)
diff --git a/rules/host-localedef.make b/rules/host-localedef.make
index 07280122d..da1c2e2c3 100644
--- a/rules/host-localedef.make
+++ b/rules/host-localedef.make
@@ -92,7 +92,7 @@ host-localedef_install: $(STATEDIR)/host-localedef.install
$(STATEDIR)/host-localedef.install: $(host-localedef_install_deps_default)
@$(call targetinfo, $@)
- cd $(HOST_LOCALEDEF_DIR) && cp localedef $(PTX_PREFIX_HOST)/bin
+ cd $(HOST_LOCALEDEF_DIR) && cp localedef $(PTXCONF_SYSROOT_HOST)/bin
@$(call touch, $@)
# ----------------------------------------------------------------------------
diff --git a/rules/host-mtd-utils.make b/rules/host-mtd-utils.make
index 793d454cc..53e1005f1 100644
--- a/rules/host-mtd-utils.make
+++ b/rules/host-mtd-utils.make
@@ -53,7 +53,7 @@ HOST_MTD_UTILS_ENV := $(HOST_ENV)
HOST_MTD_UTILS_MAKEVARS := \
CPPFLAGS="$(HOST_CPPFLAGS)" \
LDFLAGS="$(HOST_LDFLAGS)" \
- PREFIX="$(PTX_PREFIX_HOST)"
+ PREFIX="$(PTXCONF_SYSROOT_HOST)"
$(STATEDIR)/host-mtd-utils.prepare: $(host-mtd-utils_prepare_deps_default)
@$(call targetinfo, $@)
diff --git a/rules/host-qte.make b/rules/host-qte.make
index ee9a97758..ae9730bf7 100644
--- a/rules/host-qte.make
+++ b/rules/host-qte.make
@@ -56,7 +56,7 @@ HOST_QTE_ENV := $(HOST_ENV)
# qte does not use autoconf, but something that looks similar
#
HOST_QTE_AUTOCONF := \
- -prefix=$(PTX_PREFIX_HOST) \
+ -prefix=$(PTXCONF_SYSROOT_HOST) \
-platform=$(GNU_HOST) \
-disable styles \
-disable tools \
@@ -109,7 +109,7 @@ host-qte_install: $(STATEDIR)/host-qte.install
$(STATEDIR)/host-qte.install: $(host-qte_install_deps_default)
@$(call targetinfo, $@)
- cp $(HOST_QTE_DIR)/bin/uic $(PTX_PREFIX_HOST)/bin
+ cp $(HOST_QTE_DIR)/bin/uic $(PTXCONF_SYSROOT_HOST)/bin
@$(call touch, $@)
# ----------------------------------------------------------------------------
diff --git a/rules/host-slirp.make b/rules/host-slirp.make
index 247b515fc..b7cb7932a 100644
--- a/rules/host-slirp.make
+++ b/rules/host-slirp.make
@@ -57,7 +57,7 @@ HOST_SLIRP_ENV = $(HOSTCC_ENV)
# autoconf
#
HOST_SLIRP_AUTOCONF := $(HOST_AUTOCONF) \
- --prefix=$(PTXCONF_PREFIX)/usr
+ --prefix=$(PTXCONF_SYSROOT_TARGET)/usr
$(STATEDIR)/host-slirp.prepare: $(host-slirp_prepare_deps_default)
@$(call targetinfo, $@)
@@ -86,8 +86,8 @@ host-slirp_install: $(STATEDIR)/host-slirp.install
$(STATEDIR)/host-slirp.install: $(host-slirp_install_deps_default)
@$(call targetinfo, $@)
- mkdir -p $(PTXCONF_PREFIX)/usr/bin
- mkdir -p $(PTXCONF_PREFIX)/usr/man/man1
+ mkdir -p $(PTXCONF_SYSROOT_TARGET)/usr/bin
+ mkdir -p $(PTXCONF_SYSROOT_TARGET)/usr/man/man1
@$(call install, HOST_SLIRP, $(HOST_SLIRP_DIR)/src ,h)
@$(call touch, $@)
diff --git a/rules/host-umkimage.make b/rules/host-umkimage.make
index 640ef41d7..d18c7eca3 100644
--- a/rules/host-umkimage.make
+++ b/rules/host-umkimage.make
@@ -84,7 +84,7 @@ host-umkimage_install: $(STATEDIR)/host-umkimage.install
$(STATEDIR)/host-umkimage.install: $(host-umkimage_install_deps_default)
@$(call targetinfo, $@)
- install $(HOST_UMKIMAGE_DIR)/mkimage $(PTXCONF_HOST_PREFIX)/bin/mkimage
+ install $(HOST_UMKIMAGE_DIR)/mkimage $(PTXCONF_SYSROOT_HOST)/bin/mkimage
@$(call touch, $@)
# ----------------------------------------------------------------------------
diff --git a/rules/host-util-linux.make b/rules/host-util-linux.make
index fb6b4d414..d948a23bf 100644
--- a/rules/host-util-linux.make
+++ b/rules/host-util-linux.make
@@ -87,17 +87,17 @@ $(STATEDIR)/host-util-linux.install: $(host-util-linux_install_deps_default)
ifdef PTXCONF_HOST_UTIL_LINUX_FDISK
install -D $(HOST_UTIL_LINUX_DIR)/fdisk/fdisk \
- $(PTXCONF_PREFIX)/sbin/fdisk
+ $(PTXCONF_SYSROOT_TARGET)/sbin/fdisk
endif
ifdef PTXCONF_HOST_UTIL_LINUX_CFDISK
install -D $(HOST_UTIL_LINUX_DIR)/fdisk/cfdisk \
- $(PTXCONF_PREFIX)/sbin/cfdisk
+ $(PTXCONF_SYSROOT_TARGET)/sbin/cfdisk
endif
ifdef PTXCONF_HOST_UTIL_LINUX_SFDISK
install -D $(HOST_UTIL_LINUX_DIR)/fdisk/sfdisk \
- $(PTXCONF_PREFIX)/sbin/sfdisk
+ $(PTXCONF_SYSROOT_TARGET)/sbin/sfdisk
endif
@$(call touch, $@)
diff --git a/rules/kernel.in b/rules/kernel.in
deleted file mode 100644
index d54783fe8..000000000
--- a/rules/kernel.in
+++ /dev/null
@@ -1,38 +0,0 @@
-#
-# rules/kernel.in
-#
-
-menuconfig KERNEL
- bool
- default y
- prompt "linux kernel "
- help
- Build the Linux kernel.
-
-config KERNEL_INSTALL
- bool
- prompt "install kernel into /boot"
- depends on KERNEL
-
-config KERNEL_MODULES
- bool
- depends on KERNEL
- default y
- prompt "build kernel-modules"
-
-config KERNEL_MODULES_INSTALL
- bool
- default y
- prompt "Install modules into /lib/modules"
- depends on KERNEL
- depends on KERNEL_MODULES
-
-#
-# autogenerated
-#
-
-config KERNEL_MODULES_BUILD
- depends on KERNEL_MODULES
- string
- default "modules"
-
diff --git a/rules/kernel.make b/rules/kernel.make
index 2d35fde2f..9c37d3980 100644
--- a/rules/kernel.make
+++ b/rules/kernel.make
@@ -30,6 +30,7 @@ endif
#
# handle special compilers
#
+ifneq ($(PTX_COMPILER_PREFIX_KERNEL),)
ifneq ($(PTX_COMPILER_PREFIX),$(PTX_COMPILER_PREFIX_KERNEL))
ifeq ($(wildcard .ktoolchain/$(PTX_COMPILER_PREFIX_KERNEL)gcc),)
$(warning *** no .ktoolchain link found. Please create a link)
@@ -38,6 +39,7 @@ $(error )
endif
KERNEL_TOOLCHAIN_LINK := $(PTXDIST_WORKSPACE)/.ktoolchain/
endif
+endif
#
# Paths and names
@@ -121,7 +123,7 @@ KERNEL_MAKEVARS := \
ARCH=$(PTXCONF_KERNEL_ARCH_STRING) \
CROSS_COMPILE=$(KERNEL_TOOLCHAIN_LINK)$(PTX_COMPILER_PREFIX_KERNEL) \
\
- DEPMOD=$(PTX_PREFIX_CROSS)/sbin/$(PTXCONF_GNU_TARGET)-depmod \
+ DEPMOD=$(PTXCONF_SYSROOT_CROSS)/sbin/$(PTXCONF_GNU_TARGET)-depmod \
INSTALL_MOD_PATH=$(KERNEL_DIR_INSTALL) \
PTX_KERNEL_DIR=$(KERNEL_DIR)
diff --git a/rules/klibc.make b/rules/klibc.make
index 1bd7f7e0f..b57a49c39 100644
--- a/rules/klibc.make
+++ b/rules/klibc.make
@@ -216,7 +216,7 @@ endif
#
# install the compiler wrapper to be used to link programs against klibc
#
- install $(KLIBC_DIR)/klcc/klcc $(PTXCONF_CROSS_PREFIX)/bin/klcc
+ install $(KLIBC_DIR)/klcc/klcc $(PTXCONF_SYSROOT_CROSS)/bin/klcc
#
# install a few commands to the local architecture directory
# but important is the klibc.a only to link programs against it
@@ -248,6 +248,6 @@ klibc_clean:
rm -rf $(STATEDIR)/klibc.*
rm -rf $(IMAGEDIR)/klibc_*
rm -rf $(KLIBC_DIR)
- rm -rf $(PTXCONF_CROSS_PREFIX)/bin/klcc
+ rm -rf $(PTXCONF_SYSROOT_CROSS)/bin/klcc
# vim: syntax=make
diff --git a/rules/libpng.make b/rules/libpng.make
index caa5d696a..1038c6b7c 100644
--- a/rules/libpng.make
+++ b/rules/libpng.make
@@ -95,8 +95,8 @@ libpng_install: $(STATEDIR)/libpng.install
$(STATEDIR)/libpng.install:
@$(call targetinfo, $@)
@$(call install, LIBPNG)
- $(INSTALL) -m 755 -D $(LIBPNG_DIR)/libpng-config $(PTXCONF_CROSS_PREFIX)/bin/libpng-config
- $(INSTALL) -m 755 -D $(LIBPNG_DIR)/libpng12-config $(PTXCONF_CROSS_PREFIX)/bin/libpng12-config
+ $(INSTALL) -m 755 -D $(LIBPNG_DIR)/libpng-config $(PTXCONF_SYSROOT_CROSS)/bin/libpng-config
+ $(INSTALL) -m 755 -D $(LIBPNG_DIR)/libpng12-config $(PTXCONF_SYSROOT_CROSS)/bin/libpng12-config
@$(call touch, $@)
# ----------------------------------------------------------------------------
diff --git a/rules/libxml2.make b/rules/libxml2.make
index 2b271a313..6240189b8 100644
--- a/rules/libxml2.make
+++ b/rules/libxml2.make
@@ -300,7 +300,7 @@ libxml2_install: $(STATEDIR)/libxml2.install
$(STATEDIR)/libxml2.install: $(libxml2_install_deps_default)
@$(call targetinfo, $@)
@$(call install, LIBXML2)
- install -D $(LIBXML2_DIR)/xml2-config $(PTXCONF_CROSS_PREFIX)/bin/xml2-config
+ install -D $(LIBXML2_DIR)/xml2-config $(PTXCONF_SYSROOT_CROSS)/bin/xml2-config
@$(call touch, $@)
# ----------------------------------------------------------------------------
diff --git a/rules/libxslt.make b/rules/libxslt.make
index 21c3c2f93..4152fb989 100644
--- a/rules/libxslt.make
+++ b/rules/libxslt.make
@@ -123,7 +123,7 @@ $(STATEDIR)/libxslt.install: $(libxslt_install_deps_default)
# FIXME: this probably has to be fixed upstream!
# libxslt installs xslt-config to wrong path.
- install $(LIBXSLT_DIR)/xslt-config $(PTXCONF_CROSS_PREFIX)/bin/
+ install $(LIBXSLT_DIR)/xslt-config $(PTXCONF_SYSROOT_CROSS)/bin/
@$(call touch, $@)
diff --git a/rules/ltp.make b/rules/ltp.make
index 681a60e15..d038a3865 100644
--- a/rules/ltp.make
+++ b/rules/ltp.make
@@ -17,7 +17,7 @@ PACKAGES-$(PTXCONF_LTP) += ltp
#
# Paths and names
#
-LTP_VERSION = 20080229
+LTP_VERSION = 20080331
LTP = ltp-full-$(LTP_VERSION)
LTP_SUFFIX = tgz
LTP_URL = $(PTXCONF_SETUP_SFMIRROR)/ltp/$(LTP).$(LTP_SUFFIX)
diff --git a/rules/mico.make b/rules/mico.make
index 6cb9359f1..d5a5fc136 100644
--- a/rules/mico.make
+++ b/rules/mico.make
@@ -69,7 +69,7 @@ MICO_ENV = $(CROSS_ENV)
# autoconf
#
MICO_AUTOCONF = --target=$(PTXCONF_GNU_TARGET)
-MICO_AUTOCONF += --with-mico=$(PTXCONF_PREFIX)
+MICO_AUTOCONF += --with-mico=$(PTXCONF_SYSROOT_TARGET)
# FIXME: this should be fixed upstream
MICO_AUTOCONF += --prefix=$(SYSROOT)
diff --git a/rules/other/Definitions.make b/rules/other/Definitions.make
index ba96bbda7..7af55f115 100644
--- a/rules/other/Definitions.make
+++ b/rules/other/Definitions.make
@@ -17,7 +17,7 @@ M2B=$(STATEDIR)/environment
# Select make variables for export to shell (by full name)
#
M2B_DUMP_VARIABLES := PTXCONF_CONFIGFILE_VERSION
-M2B_DUMP_VARIABLES += PTXCONFIG PTXCONF_PREFIX PTXCONF_PROJECT PTXCONF_PROJECT_VERSION
+M2B_DUMP_VARIABLES += PTXCONFIG PTXCONF_SYSROOT_TARGET PTXCONF_PROJECT PTXCONF_PROJECT_VERSION
M2B_DUMP_VARIABLES += PTXDIST_WORKSPACE PTXDIST_TOPDIR
M2B_DUMP_VARIABLES += PTXDIST PTXDIST_FULLVERSION
M2B_DUMP_VARIABLES += RULESDIR SCRIPTSDIR STATEDIR SYSROOT WORKDIR
diff --git a/rules/other/Namespace.make b/rules/other/Namespace.make
index 4aa5ea4e2..c7b814fdf 100644
--- a/rules/other/Namespace.make
+++ b/rules/other/Namespace.make
@@ -1,6 +1,13 @@
-PTX_PREFIX := $(call remove_quotes, $(PTXCONF_PREFIX))
-PTX_PREFIX_HOST := $(call remove_quotes, $(PTXCONF_HOST_PREFIX))
-PTX_PREFIX_CROSS := $(call remove_quotes, $(PTXCONF_CROSS_PREFIX))
+PLATFORMDIR := $(call remove_quotes, $(PLATFORMDIR))
+
+ifneq ($(PTXDIST_PLATFORM),)
+PTXDIST_PLATFORM_PREFIX=platform-
+endif
+
+PTXCONF_PLATFORM := $(call remove_quotes,$(PTXCONF_PLATFORM))
+PTXCONF_SYSROOT_TARGET := $(call remove_quotes, $(PTXCONF_SYSROOT_TARGET))
+PTXCONF_SYSROOT_HOST := $(call remove_quotes, $(PTXCONF_SYSROOT_HOST))
+PTXCONF_SYSROOT_CROSS := $(call remove_quotes, $(PTXCONF_SYSROOT_CROSS))
PTX_COMPILER_PREFIX := $(call remove_quotes, $(PTXCONF_COMPILER_PREFIX))
PTX_COMPILER_PREFIX_KERNEL := $(call remove_quotes, $(PTXCONF_COMPILER_PREFIX_KERNEL))
diff --git a/rules/other/Toplevel.make b/rules/other/Toplevel.make
index af09ce8a0..800adb104 100644
--- a/rules/other/Toplevel.make
+++ b/rules/other/Toplevel.make
@@ -40,9 +40,12 @@ else
SRCDIR = $(call remove_quotes,$(PTXCONF_SETUP_SRCDIR))
endif
--include $(PTXDIST_WORKSPACE)/platformconfig
+# first, include the ptxconfig with packet definitions
-include $(PTXDIST_WORKSPACE)/ptxconfig
+# platformconfig comes after ptxconfig, so it is able to overwrite things
+-include $(PTXDIST_WORKSPACE)/.platformconfig
+
# ----------------------------------------------------------------------------
# Packets for host, cross and target
# ----------------------------------------------------------------------------
@@ -58,16 +61,6 @@ VIRTUAL :=
# ----------------------------------------------------------------------------
-# PTXCONF_PREFIX can be overwritten from the make var PREFIX
-# FIXME: rsc: this needs to be migrated to DESTDIR, because it's not PREFIX!
-# ----------------------------------------------------------------------------
-
-ifdef PREFIX
-PTXCONF_PREFIX := $(PREFIX)
-PREFIX :=
-endif
-
-# ----------------------------------------------------------------------------
# Include all rule files
# ----------------------------------------------------------------------------
@@ -202,7 +195,9 @@ ipkg-push: $(STATEDIR)/ipkg-push
$(STATEDIR)/ipkg-push: $(STATEDIR)/host-ipkg-utils.install
@$(call targetinfo, $@)
( \
- export PATH=$(PTXCONF_PREFIX)/bin:$(PTXCONF_PREFIX)/usr/bin:$$PATH; \
+ PATH=$(PTXCONF_SYSROOT_CROSS)/bin:$(PTXCONF_SYSROOT_CROSS)/usr/bin:$$PATH; \
+ PATH=$(PTXCONF_SYSROOT_HOST)/bin:$(PTXCONF_SYSROOT_HOST)/usr/bin:$$PATH; \
+ export $$PATH; \
$(PTXDIST_TOPDIR)/scripts/ipkg-push \
--ipkgdir $(call remove_quotes,$(IMAGEDIR)) \
--repodir $(call remove_quotes,$(PTXCONF_SETUP_IPKG_REPOSITORY)) \
@@ -292,7 +287,7 @@ $(STATEDIR)/image_working_dir: $(IPKG_FILES) $(IMAGEDIR)/permissions $(IMAGEDIR)
@rm -rf $(WORKDIR)
@mkdir $(WORKDIR)
@echo -n "Extracting ipkg packages into working directory..."
- @DESTDIR=$(WORKDIR) $(FAKEROOT) -- $(PTXCONF_HOST_PREFIX)/bin/ipkg-cl -f $(IMAGEDIR)/ipkg.conf -o $(WORKDIR) install $(IPKG_FILES) 2>&1 >/dev/null
+ @DESTDIR=$(WORKDIR) $(FAKEROOT) -- $(PTXCONF_SYSROOT_HOST)/bin/ipkg-cl -f $(IMAGEDIR)/ipkg.conf -o $(WORKDIR) install $(IPKG_FILES) 2>&1 >/dev/null
@$(call touch, $@)
#
@@ -315,7 +310,7 @@ $(IMAGEDIR)/root.jffs2: $(STATEDIR)/image_working_dir
@cd $(WORKDIR); \
($(AWK) -F: $(DOPERMISSIONS) $(IMAGEDIR)/permissions && \
( \
- echo -n "$(PTXCONF_HOST_PREFIX)/sbin/mkfs.jffs2 "; \
+ echo -n "$(PTXCONF_SYSROOT_HOST)/sbin/mkfs.jffs2 "; \
echo -n "-d $(WORKDIR) "; \
echo -n "--eraseblock=$(PTXCONF_IMAGE_JFFS2_BLOCKSIZE) "; \
echo -n "$(PTXCONF_IMAGE_JFFS2_EXTRA_ARGS) "; \
@@ -331,7 +326,7 @@ $(IMAGEDIR)/root.ext2: $(STATEDIR)/image_working_dir
@cd $(WORKDIR); \
($(AWK) -F: $(DOPERMISSIONS) $(IMAGEDIR)/permissions && \
( \
- echo -n "$(PTXCONF_HOST_PREFIX)/bin/genext2fs "; \
+ echo -n "$(PTXCONF_SYSROOT_HOST)/bin/genext2fs "; \
echo -n "-b $(PTXCONF_IMAGE_EXT2_SIZE) "; \
echo -n "$(PTXCONF_IMAGE_EXT2_EXTRA_ARGS) "; \
echo -n "-d $(WORKDIR) "; \
@@ -344,7 +339,7 @@ $(IMAGEDIR)/root.ext2: $(STATEDIR)/image_working_dir
#
$(IMAGEDIR)/hd.img: $(IMAGEDIR)/root.ext2
@echo -n "Creating hdimg from root.ext2"; \
- PATH=$(PTXCONF_HOST_PREFIX)/bin:$$PATH $(PTXDIST_TOPDIR)/scripts/genhdimg \
+ PATH=$(PTXCONF_SYSROOT_HOST)/bin:$$PATH $(PTXDIST_TOPDIR)/scripts/genhdimg \
-o $@ $(GENHDIMARGS)
@echo "done."
@@ -362,7 +357,7 @@ $(IMAGEDIR)/root.ext2.gz: $(IMAGEDIR)/root.ext2
#
$(IMAGEDIR)/uRamdisk: $(IMAGEDIR)/root.ext2.gz
@echo -n "Creating U-Boot ramdisk from root.ext2.gz...";
- @$(PTXCONF_HOST_PREFIX)/bin/mkimage \
+ @$(PTXCONF_SYSROOT_HOST)/bin/mkimage \
-A $(MKIMAGE_ARCH) \
-O Linux \
-T ramdisk \
@@ -393,7 +388,7 @@ $(IMAGEDIR)/initrd.gz: $(STATEDIR)/image_working_dir
#
#$(IMAGEDIR)/muimage: $(IMAGEDIR)/initrd.gz $(KERNEL_DIR)/???????
# @echo -n "Creating multi content uimage..."
-# @$(PTXCONF_HOST_PREFIX)/bin/mkimage -A $(PTXCONF_ARCH_STRING) \
+# @$(PTXCONF_SYSROOT_HOST)/bin/mkimage -A $(PTXCONF_ARCH_STRING) \
# -O Linux -T multi -C gzip -a 0 -e 0 \
# -n 'Multi-File Image' \
# -d $(KERNEL_DIR)/vmlinux.bin.gz:$(IMAGEDIR)/initrd.img \
@@ -436,78 +431,6 @@ else
endif
# ----------------------------------------------------------------------------
-# Test
-# ----------------------------------------------------------------------------
-
-ipkg-test: world
- @$(call targetinfo,ipkg-test)
- @IMAGES=$(IMAGEDIR) ROOT=$(ROOTDIR) \
- IPKG=$(call remove_quotes,$(PTXCONF_PREFIX))/bin/ipkg-cl \
- $(PTXDIST_TOPDIR)/scripts/ipkg-test
-
-# ----------------------------------------------------------------------------
-
-qa-static:
- @cd $(PTXDIST_WORKSPACE); \
- rm -f QA.log; \
- echo "QA: Static Analysis Report" >> QA-static.log; \
- echo start: `date` >> QA-static.log; \
- echo >> QA-static.log; \
- scripts/qa-static/master >> QA-static.log 2>&1; \
- echo >> QA-static.log; \
- echo stop: `date` >> QA-static.log; \
- echo >> QA-static.log;
- @cat QA-static.log;
-
-# ----------------------------------------------------------------------------
-
-# qa-autobuild:
-# @cd $(PTXDIST_WORKSPACE); \
-# rm -f QA-autobuild.log; \
-# echo | tee -a QA-autobuild.log; \
-# echo "QA: Autobuild Report" | tee -a QA-autobuild.log; \
-# echo "start: `date`" | tee -a QA-autobuild.log; \
-# echo | tee -a QA-autobuild.log; \
-# \
-# for i in `find $(PROJECTDIRS) -name "*.ptxconfig"`; do \
-# autobuild=`echo $$i | perl -p -e "s/.ptxconfig/.autobuild/g"`; \
-# if [ -x "$$autobuild" ]; then \
-# PTXDIST_TOPDIR=$(PTXDIST_TOPDIR) \
-# PTXDIST_WORKSPACE=$(PTXDIST_WORKSPACE) \
-# $$autobuild | tee -a QA-autobuild.log; \
-# else \
-# echo "skipping `basename $$autobuild`|tee -a QA-autobuild.log"; \
-# fi; \
-# done; \
-# echo | tee -a QA-autobuild.log; \
-# echo stop: `date` | tee -a QA-autobuild.log; \
-# echo | tee -a QA-autobuild.log
-
-# ----------------------------------------------------------------------------
-# SVN Targets
-# ----------------------------------------------------------------------------
-
-# svn-up:
-# @$(call targetinfo, Updating in Toplevel)
-# @cd $(PTXDIST_TOPDIR) && svn update
-# @if [ -d "$(PROJECTDIR)" ]; then \
-# $(call targetinfo, Updating in PROJECTDIR); \
-# cd $(PROJECTDIR); \
-# [ -d .svn ] && svn update; \
-# fi;
-# @echo "done."
-#
-# svn-stat:
-# @$(call targetinfo, svn stat in Toplevel)
-# @cd $(PTXDIST_TOPDIR) && svn stat
-# @if [ -d "$(PROJECTDIR)" ]; then \
-# $(call targetinfo, svn stat in PROJECTDIR); \
-# cd $(PROJECTDIR); \
-# [ -d .svn ] && svn stat; \
-# fi;
-# @echo "done."
-
-# ----------------------------------------------------------------------------
# Misc other targets
# ----------------------------------------------------------------------------
diff --git a/rules/pelts_tests.make b/rules/pelts_tests.make
index d20b3e783..3d626ff34 100644
--- a/rules/pelts_tests.make
+++ b/rules/pelts_tests.make
@@ -12,7 +12,7 @@
#
# We provide this package
#
-PACKAGES-$(PTXCONF_PELTS_TESTS) += pelts_tests
+PACKAGES-$(PTXCONF_PELTS_TESTS) += pelts-tests
#
# Paths and names
@@ -28,9 +28,9 @@ PELTS_TESTS_DIR := $(BUILDDIR)/$(PELTS_TESTS)
# Get
# ----------------------------------------------------------------------------
-pelts_tests_get: $(STATEDIR)/pelts_tests.get
+pelts-tests_get: $(STATEDIR)/pelts-tests.get
-$(STATEDIR)/pelts_tests.get: $(pelts_tests_get_deps_default)
+$(STATEDIR)/pelts-tests.get: $(pelts-tests_get_deps_default)
@$(call targetinfo, $@)
@$(call touch, $@)
@@ -42,9 +42,9 @@ $(PELTS_TESTS_SOURCE):
# Extract
# ----------------------------------------------------------------------------
-pelts_tests_extract: $(STATEDIR)/pelts_tests.extract
+pelts-tests_extract: $(STATEDIR)/pelts-tests.extract
-$(STATEDIR)/pelts_tests.extract: $(pelts_tests_extract_deps_default)
+$(STATEDIR)/pelts-tests.extract: $(pelts-tests_extract_deps_default)
@$(call targetinfo, $@)
@$(call clean, $(PELTS_TESTS_DIR))
@$(call extract, PELTS_TESTS)
@@ -55,7 +55,7 @@ $(STATEDIR)/pelts_tests.extract: $(pelts_tests_extract_deps_default)
# Prepare
# ----------------------------------------------------------------------------
-pelts_tests_prepare: $(STATEDIR)/pelts_tests.prepare
+pelts-tests_prepare: $(STATEDIR)/pelts-tests.prepare
PELTS_TESTS_PATH := PATH=$(CROSS_PATH)
PELTS_TESTS_ENV := $(CROSS_ENV)
@@ -65,7 +65,7 @@ PELTS_TESTS_ENV := $(CROSS_ENV)
#
PELTS_TESTS_AUTOCONF := $(CROSS_AUTOCONF_USR)
-$(STATEDIR)/pelts_tests.prepare: $(pelts_tests_prepare_deps_default)
+$(STATEDIR)/pelts-tests.prepare: $(pelts-tests_prepare_deps_default)
@$(call targetinfo, $@)
@$(call clean, $(PELTS_TESTS_DIR)/config.cache)
cd $(PELTS_TESTS_DIR) && \
@@ -77,9 +77,9 @@ $(STATEDIR)/pelts_tests.prepare: $(pelts_tests_prepare_deps_default)
# Compile
# ----------------------------------------------------------------------------
-pelts_tests_compile: $(STATEDIR)/pelts_tests.compile
+pelts-tests_compile: $(STATEDIR)/pelts-tests.compile
-$(STATEDIR)/pelts_tests.compile: $(pelts_tests_compile_deps_default)
+$(STATEDIR)/pelts-tests.compile: $(pelts-tests_compile_deps_default)
@$(call targetinfo, $@)
cd $(PELTS_TESTS_DIR) && $(PELTS_TESTS_PATH) make
@$(call touch, $@)
@@ -88,9 +88,9 @@ $(STATEDIR)/pelts_tests.compile: $(pelts_tests_compile_deps_default)
# Install
# ----------------------------------------------------------------------------
-pelts_tests_install: $(STATEDIR)/pelts_tests.install
+pelts-tests_install: $(STATEDIR)/pelts-tests.install
-$(STATEDIR)/pelts_tests.install: $(pelts_tests_install_deps_default)
+$(STATEDIR)/pelts-tests.install: $(pelts-tests_install_deps_default)
@$(call targetinfo, $@)
@$(call touch, $@)
@@ -98,23 +98,23 @@ $(STATEDIR)/pelts_tests.install: $(pelts_tests_install_deps_default)
# Target-Install
# ----------------------------------------------------------------------------
-pelts_tests_targetinstall: $(STATEDIR)/pelts_tests.targetinstall
+pelts-tests_targetinstall: $(STATEDIR)/pelts-tests.targetinstall
-$(STATEDIR)/pelts_tests.targetinstall: $(pelts_tests_targetinstall_deps_default)
+$(STATEDIR)/pelts-tests.targetinstall: $(pelts-tests_targetinstall_deps_default)
@$(call targetinfo, $@)
- @$(call install_init, pelts_tests)
- @$(call install_fixup,pelts_tests,PACKAGE,pelts-tests)
- @$(call install_fixup,pelts_tests,PRIORITY,optional)
- @$(call install_fixup,pelts_tests,VERSION,$(PELTS_TESTS_VERSION))
- @$(call install_fixup,pelts_tests,SECTION,base)
- @$(call install_fixup,pelts_tests,AUTHOR,"Robert Schwebel <r.schwebel\@pengutronix.de>")
- @$(call install_fixup,pelts_tests,DEPENDS,)
- @$(call install_fixup,pelts_tests,DESCRIPTION,missing)
+ @$(call install_init, pelts-tests)
+ @$(call install_fixup,pelts-tests,PACKAGE,pelts-tests)
+ @$(call install_fixup,pelts-tests,PRIORITY,optional)
+ @$(call install_fixup,pelts-tests,VERSION,$(PELTS_TESTS_VERSION))
+ @$(call install_fixup,pelts-tests,SECTION,base)
+ @$(call install_fixup,pelts-tests,AUTHOR,"Robert Schwebel <r.schwebel\@pengutronix.de>")
+ @$(call install_fixup,pelts-tests,DEPENDS,)
+ @$(call install_fixup,pelts-tests,DESCRIPTION,missing)
- @$(call install_copy, pelts_tests, 0, 0, 0755, $(PELTS_TESTS_DIR)/src/floattest, /usr/bin/floattest)
+ @$(call install_copy, pelts-tests, 0, 0, 0755, $(PELTS_TESTS_DIR)/src/floattest, /usr/bin/floattest)
- @$(call install_finish,pelts_tests)
+ @$(call install_finish,pelts-tests)
@$(call touch, $@)
@@ -122,9 +122,9 @@ $(STATEDIR)/pelts_tests.targetinstall: $(pelts_tests_targetinstall_deps_default)
# Clean
# ----------------------------------------------------------------------------
-pelts_tests_clean:
- rm -rf $(STATEDIR)/pelts_tests.*
- rm -rf $(IMAGEDIR)/pelts_tests_*
+pelts-tests_clean:
+ rm -rf $(STATEDIR)/pelts-tests.*
+ rm -rf $(IMAGEDIR)/pelts-tests_*
rm -rf $(PELTS_TESTS_DIR)
# vim: syntax=make
diff --git a/rules/php-apc.make b/rules/php-apc.make
index ac9ff851d..6fb272aab 100644
--- a/rules/php-apc.make
+++ b/rules/php-apc.make
@@ -74,7 +74,7 @@ $(STATEDIR)/php-apc.prepare: $(php-apc_prepare_deps_default)
# FIXME: rsc: phpize path is definitely wrong here, needs to be a host tool
cd $(PHP_APC_DIR) && \
$(PHP_APC_PATH) $(PHP_APC_ENV) \
- $(PTXCONF_PREFIX)/bin/phpize && \
+ $(PTXCONF_SYSROOT_TARGET)/bin/phpize && \
$(PHP_APC_PATH) $(PHP_APC_ENV) \
./configure $(PHP_APC_AUTOCONF)
@$(call touch, $@)
diff --git a/rules/platforms.in b/rules/platforms.in
new file mode 100644
index 000000000..a82382efe
--- /dev/null
+++ b/rules/platforms.in
@@ -0,0 +1,9 @@
+# this is to be included into the rules, so the dependency generator
+# does still work
+
+config KERNEL
+ bool
+
+config U_BOOT_V2
+ bool
+
diff --git a/rules/pre/Rules.make b/rules/pre/Rules.make
index 9430755c3..0a91a378b 100644
--- a/rules/pre/Rules.make
+++ b/rules/pre/Rules.make
@@ -15,9 +15,9 @@
PTXUSER = $(shell echo $$USER)
GNU_BUILD = $(shell $(PTXDIST_TOPDIR)/scripts/config.guess)
GNU_HOST = $(shell echo $(GNU_BUILD) | sed s/-[a-zA-Z0-9_]*-/-host-/)
-DEP_OUTPUT = depend.out
-DEP_TREE_PS = deptree.ps
-DEP_TREE_A4_PS = deptree-a4.ps
+DEP_OUTPUT = ${PLATFORMDIR}/depend.out
+DEP_TREE_PS = ${PLATFORMDIR}/deptree.ps
+DEP_TREE_A4_PS = ${PLATFORMDIR}/deptree-a4.ps
SUDO = sudo
HOSTCC = gcc
@@ -53,7 +53,7 @@ PARALLELMFLAGS ?= -j$(shell if [ -r /proc/cpuinfo ]; \
else echo 1; \
fi)
-FAKEROOT := $(PTXCONF_HOST_PREFIX)/bin/fakeroot -l $(PTXCONF_HOST_PREFIX)/lib/libfakeroot.so
+FAKEROOT := $(PTXCONF_SYSROOT_HOST)/bin/fakeroot -l $(PTXCONF_SYSROOT_HOST)/lib/libfakeroot.so
CHECK_PIPE_STATUS = \
for i in "$${PIPESTATUS[@]}"; do [ $$i -gt 0 ] && { \
@@ -72,18 +72,18 @@ CHECK_PIPE_STATUS = \
#
# SYSROOT is the directory stuff is being installed into on the host
#
-SYSROOT := $(call remove_quotes,$(PTXCONF_PREFIX)/sysroot/$(PTXCONF_GNU_TARGET))
+SYSROOT := $(PLATFORMDIR)/sysroot-target
#
# PKGDIR is the directory we install the packet sysroots and ipkgs into
#
-PKGDIR := $(call remove_quotes,$(PTXCONF_PREFIX)/packages/$(PTXCONF_GNU_TARGET))
+PKGDIR := $(PLATFORMDIR)/packages
#
# prepare the search path
# In order to work correctly in cross path all local cross tools must be find first!
#
-CROSS_PATH := $(PTX_PREFIX_CROSS)/bin:$(PTX_PREFIX_CROSS)/sbin:$(PTX_PREFIX_HOST)/bin:$(PTX_PREFIX_HOST)/sbin:$$PATH
+CROSS_PATH := $(PTXCONF_SYSROOT_CROSS)/bin:$(PTXCONF_SYSROOT_CROSS)/sbin:$(PTXCONF_SYSROOT_HOST)/bin:$(PTXCONF_SYSROOT_HOST)/sbin:$$PATH
#
# same as PTXCONF_GNU_TARGET, but w/o -linux
@@ -92,6 +92,12 @@ CROSS_PATH := $(PTX_PREFIX_CROSS)/bin:$(PTX_PREFIX_CROSS)/sbin:$(PTX_PREFIX_HOST
SHORT_TARGET := $(shell echo $(PTXCONF_GNU_TARGET) | sed -e 's/^\([^-]*\)-.*/\1/')
SHORT_HOST := $(shell echo $(GNU_HOST) | sed -e 's/^\([^-]*\)-.*/\1/')
+ifneq ($(PTXCONF_PLATFORM),)
+PLATFORM_SUFFIX:=.$(PTXCONF_PLATFORM)
+else
+PLATFORM_SUFFIX:=
+endif
+
# ----------------------------------------------------------------------------
# Environment
# ----------------------------------------------------------------------------
@@ -134,9 +140,7 @@ endif
#
# FIXME: Consolidate a bit more
#
-ifndef NATIVE
COMPILER_PREFIX := $(call remove_quotes,$(PTXCONF_COMPILER_PREFIX))
-endif
CROSS_AR := $(COMPILER_PREFIX)ar
CROSS_AS := $(COMPILER_PREFIX)as
CROSS_LD := $(COMPILER_PREFIX)ld
@@ -226,7 +230,7 @@ CROSS_ENV_PROGS := \
CROSS_ENV_PKG_CONFIG := \
SYSROOT=$(SYSROOT) \
- PKG_CONFIG="$(call remove_quotes,$(PTXCONF_CROSS_PREFIX)/bin/$(COMPILER_PREFIX)pkg-config)"
+ PKG_CONFIG="$(PTXCONF_SYSROOT_CROSS)/bin/$(COMPILER_PREFIX)pkg-config"
CROSS_ENV_FLAGS := \
$(CROSS_ENV_CFLAGS) \
@@ -321,16 +325,16 @@ endif
HOSTCC_ENV := CC=$(HOSTCC)
HOSTCXX_ENV := CXX=$(HOSTCXX)
-HOST_PATH := $(PTX_PREFIX_HOST)/bin:$(PTX_PREFIX_HOST)/sbin:$$PATH
+HOST_PATH := $(PTXCONF_SYSROOT_HOST)/bin:$(PTXCONF_SYSROOT_HOST)/sbin:$$PATH
-HOST_CPPFLAGS := -I$(PTX_PREFIX_HOST)/include
-HOST_LDFLAGS := -L$(PTX_PREFIX_HOST)/lib -Wl,-rpath -Wl,$(PTX_PREFIX_HOST)/lib
+HOST_CPPFLAGS := -I$(PTXCONF_SYSROOT_HOST)/include
+HOST_LDFLAGS := -L$(PTXCONF_SYSROOT_HOST)/lib -Wl,-rpath -Wl,$(PTXCONF_SYSROOT_HOST)/lib
HOST_ENV_CC := CC="$(HOSTCC)"
HOST_ENV_CXX := CXX="$(HOSTCXX)"
HOST_ENV_CPPFLAGS := CPPFLAGS="$(HOST_CPPFLAGS)"
HOST_ENV_LDFLAGS := LDFLAGS="$(HOST_LDFLAGS)"
-HOST_ENV_PKG_CONFIG := PKG_CONFIG_PATH="" PKG_CONFIG_LIBDIR="$(PTX_PREFIX_HOST)/lib/pkgconfig"
+HOST_ENV_PKG_CONFIG := PKG_CONFIG_PATH="" PKG_CONFIG_LIBDIR="$(PTXCONF_SYSROOT_HOST)/lib/pkgconfig"
HOST_ENV := \
$(HOST_ENV_CC) \
@@ -340,7 +344,7 @@ HOST_ENV := \
$(HOST_ENV_PKG_CONFIG)
-HOST_AUTOCONF := --prefix=$(PTX_PREFIX_HOST)
+HOST_AUTOCONF := --prefix=$(PTXCONF_SYSROOT_HOST)
# ----------------------------------------------------------------------------
# Convenience macros
@@ -399,7 +403,7 @@ add_locale = \
PREF=$(strip $(4)); \
${CROSS_ENV_CC} $(CROSS_ENV_STRIP) \
$(SCRIPTSDIR)/make_locale.sh \
- -e $(PTX_PREFIX_HOST)/bin/localedef \
+ -e $(PTXCONF_SYSROOT_HOST)/bin/localedef \
-f $$CHARMAP -i $$LOCALE_DEF \
-p $$PREF \
-n $$LOCALE_NAME
@@ -1227,7 +1231,7 @@ install_finish = \
(echo "pushd $(PKGDIR)/$$PACKET.tmp/ipkg;"; \
$(AWK) -F: $(DOPERMISSIONS) $(STATEDIR)/$$PACKET.perms; echo "popd;"; \
echo -n "echo \"install_finish: packaging ipkg packet ... \"; "; \
- echo -n "$(PTXCONF_HOST_PREFIX)/bin/ipkg-build "; \
+ echo -n "$(PTXCONF_SYSROOT_HOST)/bin/ipkg-build "; \
echo "$(PTXCONF_IMAGE_IPKG_EXTRA_ARGS) $(PKGDIR)/$$PACKET.tmp/ipkg $(PKGDIR)") |$(FAKEROOT) -- 2>&1; \
$(CHECK_PIPE_STATUS) \
rm -rf $(PKGDIR)/$$PACKET.tmp; \
diff --git a/rules/python24.make b/rules/python24.make
index 4eace67f3..388a26d77 100644
--- a/rules/python24.make
+++ b/rules/python24.make
@@ -67,7 +67,7 @@ PYTHON24_AUTOCONF := \
--enable-shared
PYTHON24_MAKEVARS := \
- HOSTPYTHON=$(PTXCONF_HOST_PREFIX)/bin/python \
+ HOSTPYTHON=$(PTXCONF_SYSROOT_HOST)/bin/python \
HOSTPGEN=$(HOST_PYTHON24_DIR)/Parser/pgen \
CROSS_COMPILE=yes
diff --git a/rules/qte.make b/rules/qte.make
index 91888f49c..ce6e0dae3 100644
--- a/rules/qte.make
+++ b/rules/qte.make
@@ -173,7 +173,7 @@ $(STATEDIR)/qte.prepare: $(qte_prepare_deps_default)
@echo 'QMAKE_LIBS_THREAD = -lpthread' >> $(QTE_DIR)/mkspecs/linux-ptxdist/qmake.conf
@echo 'QMAKE_MOC = $(QTDIR)/bin/moc' >> $(QTE_DIR)/mkspecs/linux-ptxdist/qmake.conf
- @echo 'QMAKE_UIC = $(PTXCONF_PREFIX)/bin/uic' >> $(QTE_DIR)/mkspecs/linux-ptxdist/qmake.conf
+ @echo 'QMAKE_UIC = $(PTXCONF_SYSROOT_TARGET)/bin/uic' >> $(QTE_DIR)/mkspecs/linux-ptxdist/qmake.conf
@echo 'QMAKE_AR = ar cqs' >> $(QTE_DIR)/mkspecs/linux-ptxdist/qmake.conf
@echo 'QMAKE_RANLIB =' >> $(QTE_DIR)/mkspecs/linux-ptxdist/qmake.conf
diff --git a/rules/rootfs.make b/rules/rootfs.make
index 41a89518b..5cef79659 100644
--- a/rules/rootfs.make
+++ b/rules/rootfs.make
@@ -508,10 +508,10 @@ ifdef PTXCONF_ROOTFS_USER_INITTAB
endif
@$(call install_replace, rootfs, /etc/inittab, \
@CONSOLE@, \
- $(call remove_quotes,$(PTXCONF_ROOTFS_ETC_CONSOLE)))
+ $(call remove_quotes,$(PTXCONF_CONSOLE_NAME)))
@$(call install_replace, rootfs, /etc/inittab, \
@SPEED@, \
- $(call remove_quotes,$(PTXCONF_ROOTFS_ETC_CONSOLE_SPEED)))
+ $(call remove_quotes,$(PTXCONF_CONSOLE_SPEED)))
endif
# -----------------------------------------------------------------------------
@@ -570,9 +570,10 @@ endif
# -----------------------------------------------------------------------------
ifdef PTXCONF_ROOTFS_ETC_MODULES
# /etc/modules
- @$(call install_copy, rootfs, 0, 0, 0644, \
- $(PTXDIST_WORKSPACE)/projectroot/etc/modules, \
- /etc/modules, n)
+ @file=$(PTXDIST_WORKSPACE)/projectroot/etc/modules; \
+ test -f $(PTXDIST_WORKSPACE)/projectroot/etc/modules$(PLATFORM_SUFFIX) && \
+ file=$(PTXDIST_WORKSPACE)/projectroot/etc/modules$(PLATFORM_SUFFIX); \
+ $(call install_copy, rootfs, 0, 0, 0644, $$file, /etc/modules, n)
endif
# -----------------------------------------------------------------------------
diff --git a/rules/rootfs_configfiles.in b/rules/rootfs_configfiles.in
index e305ae775..ce3263d4f 100644
--- a/rules/rootfs_configfiles.in
+++ b/rules/rootfs_configfiles.in
@@ -271,24 +271,6 @@ menuconfig ROOTFS_INITTAB
See <ptxdist-install>/generic/inittab how to use them.
endchoice
- config ROOTFS_ETC_CONSOLE
- depends on ROOTFS_INITTAB
- string
- default "/dev/tts/0"
- prompt "start getty on this console"
- help
- This string will be used wherever the placeholder @CONSOLE@ in
- the source file for /etc/inittab occures.
-
- config ROOTFS_ETC_CONSOLE_SPEED
- depends on ROOTFS_INITTAB
- string
- default "115200"
- prompt "getty baudrate"
- help
- This string will be used wherever the placeholder @SPEED@ in
- the source file for /etc/inittab occures.
-
#
# /etc/nsswitch
#
diff --git a/rules/sdl.make b/rules/sdl.make
index 24a921fed..bb232a15d 100644
--- a/rules/sdl.make
+++ b/rules/sdl.make
@@ -313,8 +313,8 @@ $(STATEDIR)/sdl.install: $(sdl_install_deps_default)
@$(call targetinfo, $@)
@$(call install, SDL)
- cp $(SDL_DIR)/sdl-config $(PTXCONF_CROSS_PREFIX)/bin/sdl-config
- chmod a+x $(PTXCONF_CROSS_PREFIX)/bin/sdl-config
+ cp $(SDL_DIR)/sdl-config $(PTXCONF_SYSROOT_CROSS)/bin/sdl-config
+ chmod a+x $(PTXCONF_SYSROOT_CROSS)/bin/sdl-config
@$(call touch, $@)
diff --git a/rules/sdl_image.make b/rules/sdl_image.make
index 9c4f0750e..d7b768668 100644
--- a/rules/sdl_image.make
+++ b/rules/sdl_image.make
@@ -67,7 +67,7 @@ SDL_IMAGE_ENV := $(CROSS_ENV)
# FIXME: rsc: shouldn't sdl-prefix be /usr?
SDL_IMAGE_AUTOCONF := \
$(CROSS_AUTOCONF_USR) \
- --with-sdl-prefix=$(PTXCONF_PREFIX) \
+ --with-sdl-prefix=$(PTXCONF_SYSROOT_TARGET) \
--disable-sdltest \
--enable-bmp \
--enable-gif \
diff --git a/rules/template-file-make b/rules/template-file-make
index 79ec5a660..09f5b65a5 100644
--- a/rules/template-file-make
+++ b/rules/template-file-make
@@ -67,13 +67,13 @@ $(STATEDIR)/@packet@.install: $(@packet@_install_deps_default)
#
# TODO: For files that are required at compiletime (headers, libs to link against)
# you can copy these files to the sysroot directory.
-# Use macro $(PTXCONF_PREFIX) for host files and $(PTXCONF_GNU_TARGET)
+# Use macro $(PTXCONF_SYSROOT_TARGET) for host files and $(PTXCONF_GNU_TARGET)
# for target files
#
# Example for a host header file:
-# @cp friesel.h $(PTXCONF_PREFIX)/include
+# @cp friesel.h $(PTXCONF_SYSROOT_TARGET)/include
# Example for a host library file:
-# @cp friesel.so $(PTXCONF_PREFIX)/lib
+# @cp friesel.so $(PTXCONF_SYSROOT_TARGET)/lib
# Example for a target file:
# @cp frasel.h $(PTXCONF_GNU_TARGET)/include
# Example for a target library file:
diff --git a/rules/u-boot-v2.make b/rules/u-boot-v2.make
index b6634dab8..4f9b28966 100644
--- a/rules/u-boot-v2.make
+++ b/rules/u-boot-v2.make
@@ -18,6 +18,7 @@ PACKAGES-$(PTXCONF_U_BOOT_V2) += u-boot-v2
#
# handle special compilers
#
+ifneq ($(PTX_COMPILER_PREFIX_UBOOT),)
ifneq ($(PTX_COMPILER_PREFIX),$(PTX_COMPILER_PREFIX_UBOOT))
ifeq ($(wildcard .utoolchain/$(PTX_COMPILER_PREFIX_UBOOT)gcc),)
$(warning *** no .utoolchain link found. Please create a link)
@@ -26,6 +27,7 @@ $(error )
endif
U_BOOT_V2_TOOLCHAIN_LINK := $(PTXDIST_WORKSPACE)/.utoolchain/
endif
+endif
#
# Paths and names
@@ -122,7 +124,7 @@ u-boot-v2_install: $(STATEDIR)/u-boot-v2.install
$(STATEDIR)/u-boot-v2.install:
@$(call targetinfo, $@)
- install -D -m755 $(U_BOOT_V2_DIR)/scripts/ubootenv $(PTX_PREFIX_HOST)/bin/ubootenv
+ install -D -m755 $(U_BOOT_V2_DIR)/scripts/ubootenv $(PTXCONF_SYSROOT_HOST)/bin/ubootenv
@$(call touch, $@)
diff --git a/scripts/dgen.sh b/scripts/dgen.sh
index 7ca747d5f..abccde022 100755
--- a/scripts/dgen.sh
+++ b/scripts/dgen.sh
@@ -13,6 +13,9 @@ fi
. "${PTXDIST_TOPDIR}/scripts/ptxdist_vars.sh"
. "${SCRIPTSDIR}/libptxdist.sh"
PTXCONFIG=${PTXDIST_WORKSPACE}/ptxconfig
+PLATFORMCONFIG=${PTXDIST_WORKSPACE}/.platformconfig
+
+mkdir -p ${STATEDIR}
#
# local defined vars
@@ -136,7 +139,7 @@ do_package_dep() {
#
#
gen_packages_dep() {
- local label deps package filename
+ local label deps package filename cfgfile
la_IFS="$IFS"
IFS=":"
@@ -146,23 +149,25 @@ gen_packages_dep() {
exec 5>${RULESFILES}
exec 6>${RULESFILES_MAKE}
- sed -ne "s/^# PTXCONF_\(.*\) is not set/\1/p" ${PTXCONFIG} | while read label; do
- package=PACKAGE_${label}
- if test -n "${!package}"; then
- echo "\$(STATEDIR)/${!package}.get: \$(${label}_SOURCE)" >&4
- fi
- done
-
- sed -ne "s/^PTXCONF_\(.*\)=[ym]/\1/p" ${PTXCONFIG} | while read label; do
- package=PACKAGE_${label}
- if test -n "${!package}"; then
- deps=DEP_${label}
- do_package_dep ${!package} ${label} ${!deps} >&4
-
- filename=FILENAME_${label}
- echo ${!filename} >&5
- echo include ${!filename} >&6
- fi
+ for cfgfile in ${PTXCONFIG} ${PLATFORMCONFIG}; do
+ sed -ne "s/^# PTXCONF_\(.*\) is not set/\1/p" ${cfgfile} | while read label; do
+ package=PACKAGE_${label}
+ if test -n "${!package}"; then
+ echo "\$(STATEDIR)/${!package}.get: \$(${label}_SOURCE)" >&4
+ fi
+ done
+
+ sed -ne "s/^PTXCONF_\(.*\)=[ym]/\1/p" ${cfgfile} | while read label; do
+ package=PACKAGE_${label}
+ if test -n "${!package}"; then
+ deps=DEP_${label}
+ do_package_dep ${!package} ${label} ${!deps} >&4
+
+ filename=FILENAME_${label}
+ echo ${!filename} >&5
+ echo include ${!filename} >&6
+ fi
+ done
done
exec 3>/dev/null
@@ -179,6 +184,7 @@ gen_packages_dep() {
#
. "${PTXCONFIG}"
+. "${PLATFORMCONFIG}"
if test \! -e "${STATEDIR}" ; then
mkdir "${STATEDIR}"
diff --git a/scripts/get_tool_versions.sh b/scripts/get_tool_versions.sh
index 1bb0bc71b..a2df76bcd 100755
--- a/scripts/get_tool_versions.sh
+++ b/scripts/get_tool_versions.sh
@@ -9,11 +9,11 @@ if [ "$PTXCONF_BUILD_CROSSCHAIN" != "y" ]; then {
echo "PATH : $(which $PTXCONF_GNU_TARGET-gcc || echo "NOT FOUND")";
echo "Version : $($PTXCONF_GNU_TARGET-gcc -dumpversion)";
} else {
- if [ -x "$PTXCONF_PREFIX/bin/$PTXCONF_GNU_TARGET-gcc" ]; then {
- echo "PATH : $PTXCONF_PREFIX/bin/$PTXCONF_GNU_TARGET-gcc";
- echo "Version : $($PTXCONF_PREFIX/bin/$PTXCONF_GNU_TARGET-gcc -dumpversion)";
+ if [ -x "$PTXCONF_SYSROOT_TARGET/bin/$PTXCONF_GNU_TARGET-gcc" ]; then {
+ echo "PATH : $PTXCONF_SYSROOT_TARGET/bin/$PTXCONF_GNU_TARGET-gcc";
+ echo "Version : $($PTXCONF_SYSROOT_TARGET/bin/$PTXCONF_GNU_TARGET-gcc -dumpversion)";
} else {
- echo "FATAL: cross-gcc ( $PTXCONF_PREFIX/bin/$PTXCONF_GNU_TARGET-gcc ) not found";
+ echo "FATAL: cross-gcc ( $PTXCONF_SYSROOT_TARGET/bin/$PTXCONF_GNU_TARGET-gcc ) not found";
}
fi;
}
diff --git a/scripts/ptxdist_vars.sh b/scripts/ptxdist_vars.sh
index 603e48163..9e3694210 100644
--- a/scripts/ptxdist_vars.sh
+++ b/scripts/ptxdist_vars.sh
@@ -11,13 +11,15 @@ PROJECTRULESDIR=${PTXDIST_WORKSPACE}/rules
PROJECTPRERULESDIR=${PTXDIST_WORKSPACE}/rules/pre
PROJECTPOSTRULESDIR=${PTXDIST_WORKSPACE}/rules/post
-BUILDDIR=${PTXDIST_WORKSPACE}/build-target
-CROSS_BUILDDIR=${PTXDIST_WORKSPACE}/build-cross
-HOST_BUILDDIR=${PTXDIST_WORKSPACE}/build-host
-STATEDIR=${PTXDIST_WORKSPACE}/state
-IMAGEDIR=${PTXDIST_WORKSPACE}/images
-ROOTDIR=${PTXDIST_WORKSPACE}/root
-ROOTDIR_DEBUG=${PTXDIST_WORKSPACE}/root-debug
+PLATFORMDIR=${PTXDIST_WORKSPACE}/${PTXDIST_PLATFORM_PREFIX}${PTXCONF_PLATFORM}
+
+BUILDDIR=${PLATFORMDIR}/build-target
+CROSS_BUILDDIR=${PLATFORMDIR}/build-cross
+HOST_BUILDDIR=${PLATFORMDIR}/build-host
+STATEDIR=${PLATFORMDIR}/state
+IMAGEDIR=${PLATFORMDIR}/images
+ROOTDIR=${PLATFORMDIR}/root
+ROOTDIR_DEBUG=${PLATFORMDIR}/root-debug
PACKAGE_DEP_PRE=${STATEDIR}/packages.dep-pre
PACKAGE_DEP_POST=${STATEDIR}/packages.dep-post
@@ -28,5 +30,5 @@ RULESFILES_MAKE=${RULESFILES}.make
RULESFILES_ALL_MAKE=${RULESFILES_ALL}.make
PTXCONFIG=${PTXDIST_WORKSPACE}/ptxconfig
-PLATFORMCONFIG=${PTXDIST_WORKSPACE}/platformconfig
+PLATFORMCONFIG=${PTXDIST_WORKSPACE}/.platformconfig