diff options
55 files changed, 743 insertions, 807 deletions
@@ -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 |