From d45de0ca0c89c076d03ef60c1edeed877dff5bd2 Mon Sep 17 00:00:00 2001 From: John Voltz Date: Tue, 11 Mar 2008 13:12:39 +0000 Subject: [PATCH] more robust development files in target handler --- Makefile | 20 +++++++++----------- scripts/copy.sh | 20 ++++++++++++++++++++ 2 files changed, 29 insertions(+), 11 deletions(-) create mode 100755 scripts/copy.sh diff --git a/Makefile b/Makefile index e1d537a49c..1aca7885a9 100644 --- a/Makefile +++ b/Makefile @@ -242,10 +242,12 @@ endif include package/*/*.mk +TARGETS+=target-devfiles + # target stuff is last so it can override anything else include target/Makefile.in -TARGETS+=erase-fakeroots target-devfiles +TARGETS+=erase-fakeroots TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS)) TARGETS_SOURCE:=$(patsubst %,%-source,$(TARGETS) $(BASE_TARGETS)) @@ -318,18 +320,14 @@ erase-fakeroots: rm -f $(PROJECT_BUILD_DIR)/.fakeroot* target-devfiles: -ifeq ($(strip $(BR2_HAVE_DEVFILES)),y) - cp -a $(STAGING_DIR)/usr/include $(TARGET_DIR)/usr - cp $(STAGING_DIR)/usr/lib/*.a $(TARGET_DIR)/usr/lib - cp $(STAGING_DIR)/lib/*.a $(TARGET_DIR)/lib - cp $(STAGING_DIR)/usr/lib/*.la $(TARGET_DIR)/usr/lib - cp $(STAGING_DIR)/lib/*.la $(TARGET_DIR)/lib +ifeq ($(BR2_HAVE_DEVFILES),y) + ( scripts/copy.sh $(STAGING_DIR) $(TARGET_DIR) ) else rm -rf $(TARGET_DIR)/usr/include - find $(TARGET_DIR)/usr/lib -name '*.a' -delete - find $(TARGET_DIR)/lib -name '*.a' -delete - find $(TARGET_DIR)/usr/lib -name '*.la' -delete - find $(TARGET_DIR)/lib -name '*.la' -delete + find $(TARGET_DIR)/usr/lib -name '*.a' -delete + find $(TARGET_DIR)/lib -name '*.a' -delete + find $(TARGET_DIR)/usr/lib -name '*.la' -delete + find $(TARGET_DIR)/lib -name '*.la' -delete endif source: $(TARGETS_SOURCE) $(HOST_SOURCE) diff --git a/scripts/copy.sh b/scripts/copy.sh new file mode 100755 index 0000000000..613c4dd0ab --- /dev/null +++ b/scripts/copy.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +STAGING_DIR=$1 +TARGET_DIR=$2 + +echo "Copying development files to target..." + +cp -a ${STAGING_DIR}/usr/include ${TARGET_DIR}/usr + +for LIBSDIR in /lib /usr/lib; do + for WILDCARD in *.a *.la; do + for FILE_PATH in `find ${STAGING_DIR}${LIBSDIR} -name ${WILDCARD}`; do + STAGING_STRIPPED=${FILE_PATH##${STAGING_DIR}} + EXTENDED_DIR=${PATH_FILE%/${WILDCARD}} + mkdir -p ${TARGET_DIR}${EXTENDED_DIR} + cp ${FILE_PATH} ${TARGET_DIR}${STAGING_STRIPPED} + #echo ${TARGET_DIR}${STAGING_STRIPPED} + done + done +done