diff options
author | Robert Schwebel <r.schwebel@pengutronix.de> | 2005-03-19 20:23:26 +0000 |
---|---|---|
committer | Robert Schwebel <r.schwebel@pengutronix.de> | 2005-03-19 20:23:26 +0000 |
commit | 9f5eb82ea0735b417968729df2c72204df98e730 (patch) | |
tree | 50386a9508757543a9392c96e12b160dc7b9ac77 /rules/Rules.make | |
parent | 16f9a25e7b1502ab464febd2efd6c907f1e0b766 (diff) | |
download | ptxdist-9f5eb82ea0735b417968729df2c72204df98e730.tar.gz ptxdist-9f5eb82ea0735b417968729df2c72204df98e730.tar.xz |
merged abandon-glibc trunk
git-svn-id: https://svn.pengutronix.de/svn/ptxdist/trunks/ptxdist-0.7-trunk@2380 33e552b5-05e3-0310-8538-816dae2090ed
Diffstat (limited to 'rules/Rules.make')
-rw-r--r-- | rules/Rules.make | 149 |
1 files changed, 105 insertions, 44 deletions
diff --git a/rules/Rules.make b/rules/Rules.make index 15f1bc2f9..748576b15 100644 --- a/rules/Rules.make +++ b/rules/Rules.make @@ -902,29 +902,29 @@ feature_patchin = \ # $5: destination (for files); empty (for directories). Prefixed with $(ROOTDIR), # so it needs to have a leading / # -copy_root = \ - @OWN=`echo $(1) | sed -e 's/[[:space:]]//g'`; \ - GRP=`echo $(2) | sed -e 's/[[:space:]]//g'`; \ - PER=`echo $(3) | sed -e 's/[[:space:]]//g'`; \ - SRC=`echo $(4) | sed -e 's/[[:space:]]//g'`; \ - DST=`echo $(5) | sed -e 's/[[:space:]]//g'`; \ - if [ -z "$(5)" ]; then \ - echo "copy_root dir=$$SRC owner=$$OWN group=$$GRP permissions=$$PER"; \ - $(INSTALL) -d $(ROOTDIR)/$$SRC; \ - if [ $$? -ne 0 ]; then \ - echo "Error: copy_root failed!"; \ - exit -1; \ - fi; \ - echo "f:$$SRC:$$OWN:$$GRP:$$PER" >> $(TOPDIR)/permissions; \ - else \ - echo "copy_root src=$$SRC dst=$$DST owner=$$OWN group=$$GRP permissions=$$PER"; \ - rm -fr $(ROOTDIR)$$DST; \ - $(INSTALL) -D $$SRC $(ROOTDIR)$$DST; \ - if [ $$? -ne 0 ]; then \ - echo "Error: copy_root failed!"; \ - exit -1; \ - fi; \ - echo "f:$$DST:$$OWN:$$GRP:$$PER" >> $(TOPDIR)/permissions; \ +copy_root = \ + @OWN=`echo $(1) | sed -e 's/[[:space:]]//g'`; \ + GRP=`echo $(2) | sed -e 's/[[:space:]]//g'`; \ + PER=`echo $(3) | sed -e 's/[[:space:]]//g'`; \ + SRC=`echo $(4) | sed -e 's/[[:space:]]//g'`; \ + DST=`echo $(5) | sed -e 's/[[:space:]]//g'`; \ + if [ -z "$(5)" ]; then \ + echo "copy_root dir=$$SRC owner=$$OWN group=$$GRP permissions=$$PER"; \ + $(INSTALL) -d $(ROOTDIR)/$$SRC; \ + if [ $$? -ne 0 ]; then \ + echo "Error: copy_root failed!"; \ + exit -1; \ + fi; \ + echo "f:$$SRC:$$OWN:$$GRP:$$PER" >> $(TOPDIR)/permissions; \ + else \ + echo "copy_root src=$$SRC dst=$$DST owner=$$OWN group=$$GRP permissions=$$PER"; \ + rm -fr $(ROOTDIR)$$DST; \ + $(INSTALL) -D $$SRC $(ROOTDIR)$$DST; \ + if [ $$? -ne 0 ]; then \ + echo "Error: copy_root failed!"; \ + exit -1; \ + fi; \ + echo "f:$$DST:$$OWN:$$GRP:$$PER" >> $(TOPDIR)/permissions; \ fi; @@ -968,44 +968,105 @@ node_root = \ echo "n:$$DEV:$$OWN:$$GRP:$$PER:$$TYP:$$MAJ:$$MIN" >> $(TOPDIR)/permissions # -# copy_lib_root +# copy_toolchain_lib_root # # $1: source # $2: destination +# $2: strip (y|n) default is to strip # -copy_lib_root = \ +copy_toolchain_lib_root = \ LIB="$(strip $1)"; \ DST="$(strip $2)"; \ + STRIP="$(strip $3)"; \ \ - LIB_DIR=`$(CROSS_CC) -print-file-name=$$LIB | sed -e "s/$$LIB\$$//" -e "s,/$$,,"`; \ + LIB_DIR=`$(CROSS_CC) -print-file-name=$${LIB} | sed -e "s,/$${LIB}\$$,,"`; \ \ if test -z "$${LIB_DIR}"; then \ - echo "copy_lib_root: lib=$${LIB} not found"; \ + echo "copy_toolchain_lib_root: lib=$${LIB} not found"; \ exit -1; \ fi; \ \ - while test \! -z "$${LIB}"; do \ - echo "copy_lib_root lib=$${LIB} dst=$${DST}"; \ - rm -fr $(ROOTDIR)$${DST}/$${LIB}; \ - mkdir -p $(ROOTDIR)$${DST}; \ - if test -h $${LIB_DIR}/$${LIB}; then \ - cp -d $${LIB_DIR}/$${LIB} $(ROOTDIR)$${DST}/; \ - elif test -f $${LIB_DIR}/$${LIB}; then \ - $(INSTALL) -D $${LIB_DIR}/$${LIB} $(ROOTDIR)$${DST}/$${LIB}; \ - $(CROSS_STRIP) $(ROOTDIR)$${DST}/$${LIB}; \ - echo "f:$${DST}/$${LIB}:0:0:755" >> $(TOPDIR)/permissions; \ - else \ - exit; \ - fi; \ - LIB="`readlink $${LIB_DIR}/$${LIB}`"; \ + LIB="$(strip $1)"; \ + for FILE in `find $${LIB_DIR} -type l -name "$${LIB}*" -maxdepth 1`; do \ + LIB=`basename $${FILE}`; \ + while test \! -z "$${LIB}"; do \ + echo "copy_toolchain_lib_root lib=$${LIB} dst=$${DST}"; \ + rm -fr $(ROOTDIR)$${DST}/$${LIB}; \ + mkdir -p $(ROOTDIR)$${DST}; \ + if test -h $${LIB_DIR}/$${LIB}; then \ + cp -d $${LIB_DIR}/$${LIB} $(ROOTDIR)$${DST}/; \ + elif test -f $${LIB_DIR}/$${LIB}; then \ + $(INSTALL) -D $${LIB_DIR}/$${LIB} $(ROOTDIR)$${DST}/$${LIB}; \ + case "$${STRIP}" in \ + (0 | n | no) \ + ;; \ + (*) \ + $(CROSS_STRIP) $(ROOTDIR)$${DST}/$${LIB}; \ + ;; \ + esac; \ + echo "f:$${DST}/$${LIB}:0:0:755" >> $(TOPDIR)/permissions; \ + else \ + exit -1; \ + fi; \ + LIB="`readlink $${LIB_DIR}/$${LIB}`"; \ + done; \ done; \ \ - LIB="$(strip $1)"; \ - for LINK in `find $${LIB_DIR} -type l -name "$${LIB}*" -maxdepth 1`; do \ - cp -d $${LINK} $(ROOTDIR)$${DST}/; \ + echo -n + + +# +# copy_dl_root +# +# $1: destination +# $2: strip (y|n) default is to strip +# +copy_toolchain_dl_root = \ + DST="$(strip $1)"; \ + STRIP="$(strip $2)"; \ + \ + LIB="`echo 'int main(void){return 0;}' | \ + $(CROSS_CC) -x c -o /dev/null -v - 2>&1 | \ + grep dynamic-linker | \ + perl -n -p -e 's/.* -dynamic-linker ([^ ]*).*/\1/'`"; \ + \ + LIB="`basename $${LIB}`"; \ + \ + LIB_DIR=`$(CROSS_CC) -print-file-name=$${LIB} | sed -e "s,/$${LIB}\$$,,"`; \ + \ + if test -z "$${LIB_DIR}"; then \ + echo "copy_toolchain_lib_root: lib=$${LIB} not found"; \ + exit -1; \ + fi; \ + \ + for FILE in `find $${LIB_DIR} -type l -name "$${LIB}*" -maxdepth 1`; do \ + LIB=`basename $${FILE}`; \ + while test \! -z "$${LIB}"; do \ + echo "copy_toolchain_lib_root lib=$${LIB} dst=$${DST}"; \ + rm -fr $(ROOTDIR)$${DST}/$${LIB}; \ + mkdir -p $(ROOTDIR)$${DST}; \ + if test -h $${LIB_DIR}/$${LIB}; then \ + cp -d $${LIB_DIR}/$${LIB} $(ROOTDIR)$${DST}/; \ + elif test -f $${LIB_DIR}/$${LIB}; then \ + $(INSTALL) -D $${LIB_DIR}/$${LIB} $(ROOTDIR)$${DST}/$${LIB}; \ + case "$${STRIP}" in \ + (0 | n | no) \ + ;; \ + (*) \ + $(CROSS_STRIP) $(ROOTDIR)$${DST}/$${LIB}; \ + ;; \ + esac; \ + echo "f:$${DST}/$${LIB}:0:0:755" >> $(TOPDIR)/permissions; \ + else \ + exit -1; \ + fi; \ + LIB="`readlink $${LIB_DIR}/$${LIB}`"; \ + done; \ done; \ \ echo -n + + # vim: syntax=make |