summaryrefslogtreecommitdiffstats
path: root/rules/Rules.make
diff options
context:
space:
mode:
authorRobert Schwebel <r.schwebel@pengutronix.de>2005-03-19 20:23:26 +0000
committerRobert Schwebel <r.schwebel@pengutronix.de>2005-03-19 20:23:26 +0000
commit9f5eb82ea0735b417968729df2c72204df98e730 (patch)
tree50386a9508757543a9392c96e12b160dc7b9ac77 /rules/Rules.make
parent16f9a25e7b1502ab464febd2efd6c907f1e0b766 (diff)
downloadptxdist-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.make149
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