@@ -64,7 +64,7 @@ cd "${DIR_TO_BE_COUNT}" >/dev/null
6464REALPATH_DIR_TO_BE_COUNT=" ${PWD} "
6565cd - > /dev/null
6666REALPATH_DIR_TO_BE_COUNT=" ${REALPATH_DIR_TO_BE_COUNT} " " /"
67- RESULT_DIR =$2
67+ RESULT_PRJ =$2
6868
6969Gen_Tmp=" Gen_Tmp"
7070if [ -d " ${Gen_Tmp} " ] ; then
@@ -93,10 +93,10 @@ echo -e "${Echo_Yellow_BG}"
9393echo -e " ${Echo_Color_Reset} "
9494yes ' -' | head -n$( tput cols) | tr -d ' \n'
9595# # Check the output directory whether is exist
96- if [ ! -d " ${RESULT_DIR } " ]; then
97- mkdir " ${RESULT_DIR } "
96+ if [ ! -d " ${RESULT_PRJ } " ]; then
97+ mkdir " ${RESULT_PRJ } "
9898else
99- echo " ${Echo_Red_Text} Direcotry $RESULT_DIR already exist${Echo_Color_Reset} "
99+ echo " ${Echo_Red_Text} Direcotry $RESULT_PRJ already exist${Echo_Color_Reset} "
100100 exit ${ERR_EXIST_DIR}
101101fi
102102
@@ -151,11 +151,6 @@ if [ "${SOURCE_CODE_TYPE}" = "KERNEL" ]; then
151151 # echo "File not found: ${Echo_Red_Text}"${DIR_TO_BE_COUNT}"/"${files}" ${Echo_Color_Reset}"
152152 continue
153153 fi
154- # # keep the directory structure
155- # if [ ! -d "${RESULT_DIR}"/"${KERNEL_SRC_WORK_DIR}"/"${DIR_OF_FILES}" ]; then
156- # mkdir -p "${RESULT_DIR}"/"${KERNEL_SRC_WORK_DIR}"/"${DIR_OF_FILES}"
157- # fi
158- # cp "${DIR_TO_BE_COUNT}"/"${files}" "${RESULT_DIR}"/"${KERNEL_SRC_WORK_DIR}"/"${DIR_OF_FILES}"
159154 echo " ${files} " >> " ${VALID_SRC} "
160155 (( Index++ ))
161156 echo -e -n " \rSource file[.c .S .s] Index:\t"
@@ -171,7 +166,6 @@ if [ "${SOURCE_CODE_TYPE}" = "KERNEL" ]; then
171166 # .h header file copy
172167 # ######################################################################
173168
174- # # copy the valid files
175169 # file not found in dir_to_be_count
176170 File_Not_Exist=
177171 Index=0
@@ -296,7 +290,14 @@ if [ "${SOURCE_CODE_TYPE}" = "KERNEL" ]; then
296290
297291 for files in ` cat valid_filelist.txt` ; do
298292 if [ ! -e " ${files} " ] ; then
299- echo " Not found file: ${files} "
293+ NotFoundFileName=` echo " ${files} " | sed ' s/^.*\///' `
294+ sed ' s@${files}@@' -i valid_filelist.txt
295+ SearchMissFile=` find " ${REALPATH_DIR_TO_BE_COUNT} " -name " ${NotFoundFileName} " `
296+ if [ -n " ${SearchMissFile} " ] ; then
297+ echo " ${SearchMissFile} " >> valid_filelist.txt
298+ else
299+ echo " Not found file: ${files} "
300+ fi
300301 fi
301302 done
302303fi
@@ -316,17 +317,8 @@ if [ "${SOURCE_CODE_TYPE}" = "UBOOT" ]; then
316317 | xargs grep ' :' | sed -e ' s/.depend.*: //g' | sed -e ' s/\ .*$//' && cd - > /dev/null`
317318
318319 # ######################################################################
319- # .S .c .s source file copy
320+ # .S .c .s source file
320321 # ######################################################################
321- # # create a directory to store the valid source file(.c .S .s)
322- if [ ! -d " ${RESULT_DIR} " /" ${UBOOT_SRC_WORK_DIR} " ]; then
323- mkdir " ${RESULT_DIR} " /" ${UBOOT_SRC_WORK_DIR} "
324- else
325- echo " ${Echo_Red_Text} Direcotry " ${RESULT_DIR} " /" ${UBOOT_SRC_WORK_DIR} " already exist${Echo_Color_Reset} "
326- exit ${ERR_EXIST_DIR}
327- fi
328-
329- # # copy the valid files
330322 # file not found in dir_to_be_count
331323 File_Not_Exist=
332324 Index=0
@@ -337,37 +329,54 @@ if [ "${SOURCE_CODE_TYPE}" = "UBOOT" ]; then
337329 File_Not_Exist+=" "
338330 continue
339331 fi
340- # # keep the directory structure
341- # if [ ! -d "${RESULT_DIR}"/"${UBOOT_SRC_WORK_DIR}"/"${DIR_OF_FILES}" ]; then
342- # mkdir -p "${RESULT_DIR}"/"${UBOOT_SRC_WORK_DIR}"/"${DIR_OF_FILES}"
343- # fi
344- # cp "${DIR_TO_BE_COUNT}"/"${files}" "${RESULT_DIR}"/"${UBOOT_SRC_WORK_DIR}"/"${DIR_OF_FILES}"
345332 echo " ${files} " >> " ${VALID_SRC} "
346333 (( Index++ ))
347334 echo -e -n " \rSource file[.c .S .s] copied number: "
348335 echo -e -n " \t[${Echo_Cyan_Text}${Index}${Echo_Color_Reset} ]"
349336 done
350337
338+ # # the depend is seperate to 2 line in .depend.XXX, eg:
339+ # a.o: \
340+ # c.c
341+ # So we should remove the c.c
342+ Src_In_Next_Line=` find " ${DIR_TO_BE_COUNT} " -name .depend | xargs egrep ' :[[:space:]]+\\$' -A 1 -h | awk ' BEGIN{RS="--" } {print $1 $3}' | sed ' s/o:.*\.//' | sed ' s/spl//' `
343+
344+ for files in ` echo " ${Src_In_Next_Line} " | sed -e ' s/\ /\n/g' ` ; do
345+ if [ ! -e " ${files} " ] ; then
346+ echo " ${files} " >> " ${VALID_SRC} "
347+ else
348+ echo " Not found:${files} "
349+ fi
350+ done
351+
352+ # # Handler the spl files, for these files the .c file path in .depend add a spl, lets remove it
353+ for files in ` echo " ${File_Not_Exist} " | sed -e ' s/\ /\n/g' ` ; do
354+ if [ ! -e " ${files} " ] ; then
355+ # echo ccc
356+ NotFound_Remove_SPL=` echo " ${files} " | sed ' s@spl@@' `
357+ if [ -e " ${NotFound_Remove_SPL} " ] ; then
358+ echo " ${NotFound_Remove_SPL} " >> " ${VALID_SRC} "
359+ File_Not_Exist=` echo " ${File_Not_Exist} " | sed " s@${files} @@" `
360+ fi
361+ fi
362+ done
363+
351364 if [ -n " ${File_Not_Exist} " ]; then
352- echo " ${Echo_Red_Text} Some files not found, please check:${Echo_Color_Reset} "
353- echo " ${File_Not_Exist} " | sed -e ' s/\ /\n/g'
365+ echo
366+ echo " ${Echo_Red_Text} Check file status${Echo_Color_Reset} "
367+ for files in ` echo " ${File_Not_Exist} " | sed -e ' s/\ /\n/g' ` ; do
368+ # # for the line like these: /home/github/BBB/u-boot/./spl/arch/arm/cpu/armv7/\
369+ End_With_Slash=` echo " ${files: -1} " `
370+ if [ -z " ${End_With_Slash} " ] ; then
371+ echo " ${files} "
372+ # echo "${File_Not_Exist}" | sed -e 's/\ /\n/g' #| tr -d '\n' #sed 's/^$//'
373+ fi
374+ done
354375 fi
355376
356- echo -e " \nUsing the following command to remove the tmp files:"
357- echo -e " \t rm -rf ${RESULT_DIR} /${UBOOT_SRC_WORK_DIR} "
358-
359377 # ######################################################################
360378 # .h header file copy
361379 # ######################################################################
362- # # create a directory to store the valid header file(.h)
363- if [ ! -d " ${RESULT_DIR} " /" ${UBOOT_HEADER_WORK_DIR} " ]; then
364- mkdir " ${RESULT_DIR} " /" ${UBOOT_HEADER_WORK_DIR} "
365- else
366- echo " ${Echo_Red_Text} Direcotry " ${RESULT_DIR} " /" ${UBOOT_HEADER_WORK_DIR} " already exist${Echo_Color_Reset} "
367- exit ${ERR_EXIST_DIR}
368- fi
369-
370- # # copy the valid files
371380 # file not found in dir_to_be_count
372381 File_Not_Exist=
373382 Index=0
@@ -405,13 +414,6 @@ if [ "${SOURCE_CODE_TYPE}" = "UBOOT" ]; then
405414 tr -d ' \\' 2> /dev/null` \
406415 && cd - > /dev/null
407416
408- # # the depend is seperate to 2 line, eg:
409- # a.o: \
410- # c.c
411- # So we should remove the c.c
412- # DepFile=`find -name .depend | xargs grep : -A 1 | \
413- # grep ':[[:space:]]\\' -A 1 | tail -n 1 | awk '{print $2}'`
414-
415417 # echo PATH_OF_NOPATH_FILE is $PATH_OF_NOPATH_FILE
416418 PATH_OF_NOPATH_FILE=` echo ${PATH_OF_NOPATH_FILE} | awk -F' ' ' {print $1}' `
417419 # echo PATH_OF_NOPATH_FILE is $PATH_OF_NOPATH_FILE
@@ -423,11 +425,6 @@ if [ "${SOURCE_CODE_TYPE}" = "UBOOT" ]; then
423425 # echo "${DIR_TO_BE_COUNT}/${PATH_OF_NOPATH_FILE} not found!"
424426 continue
425427 fi
426- # # keep the directory structure
427- if [ ! -d " ${RESULT_DIR} " /" ${UBOOT_HEADER_WORK_DIR} " /" ${DIR_OF_FILES} " ]; then
428- mkdir -p " ${RESULT_DIR} " /" ${UBOOT_HEADER_WORK_DIR} " /" ${DIR_OF_FILES} "
429- fi
430- # cp ${DIR_TO_BE_COUNT}/"${PATH_OF_NOPATH_FILE}" "${RESULT_DIR}"/"${UBOOT_HEADER_WORK_DIR}"/"${DIR_OF_FILES}"
431428 echo " ${files} " >> " ${Valid_HF} "
432429 (( Index++ ))
433430 echo -e -n " \rHeader file[.h] copied number: "
@@ -468,12 +465,6 @@ if [ "${SOURCE_CODE_TYPE}" = "UBOOT" ]; then
468465 # echo "File not found: ${Echo_Red_Text}"${DIR_TO_BE_COUNT}"/"${files}" ${Echo_Color_Reset}"
469466 continue
470467 fi
471- # # keep the directory structure
472- # if [ ! -d "${RESULT_DIR}"/"${UBOOT_HEADER_WORK_DIR}"/"${DIR_OF_FILES}" ]; then
473- # mkdir -p "${RESULT_DIR}"/"${UBOOT_HEADER_WORK_DIR}"/"${DIR_OF_FILES}"
474- # fi
475- # echo "${files}" "${RESULT_DIR}"/"${UBOOT_HEADER_WORK_DIR}"/"${DIR_OF_FILES}"
476- # cp "${files}" "${RESULT_DIR}"/"${UBOOT_HEADER_WORK_DIR}"/"${DIR_OF_FILES}"
477468
478469 file_rel=` echo " ${files} " | sed " s@^${REALPATH_DIR_TO_BE_COUNT} @@" `
479470 echo " ${file_rel} " >> " ${Valid_HF} "
@@ -492,23 +483,70 @@ if [ "${SOURCE_CODE_TYPE}" = "UBOOT" ]; then
492483 echo " ${File_Not_Exist} " | sed -e ' s/\ /\n/g' > " ${NotFound} "
493484 fi
494485
486+ fi
487+ # ###########################################################################
488+ # ## Generate the filelist
489+ # ###########################################################################
490+ sed " s@^${REALPATH_DIR_TO_BE_COUNT} @@" -i ${Valid_HF}
491+ sed " s@^${REALPATH_DIR_TO_BE_COUNT} @@" -i ${VALID_SRC}
495492 if [ -e " ${VALID_SRC} " -a -e " ${Valid_HF} " ] ; then
496493 cat " ${VALID_SRC} " " ${Valid_HF} " > valid_filelist.txt
497494 fi
498495 sed " s@^@${REALPATH_DIR_TO_BE_COUNT} @" -i valid_filelist.txt
499496
500497 for files in ` cat valid_filelist.txt` ; do
501498 if [ ! -e " ${files} " ] ; then
502- echo " Not found file: ${files} "
499+ NotFoundFileName=` echo " ${files} " | sed ' s/^.*\///' `
500+ sed ' s@${files}@@' -i valid_filelist.txt
501+ SearchMissFile=` find " ${REALPATH_DIR_TO_BE_COUNT} " -name " ${NotFoundFileName} " `
502+ if [ -n " ${SearchMissFile} " ] ; then
503+ echo " ${SearchMissFile} " >> valid_filelist.txt
504+ else
505+ # # Remove the not found files
506+ # echo "Not found file: ${files}"
507+ sed " s@${files} @@" -i valid_filelist.txt
508+ sed ' /^$/d' -i valid_filelist.txt
509+ fi
503510 fi
504511 done
505- cat " ${Valid_HF} " | sed ' s/^/<F N="/' | sed ' s/$/"\/>/' | sed ' s/^/\t\t\t/' > valid_hf_se.txt
506- cat " ${VALID_SRC} " | sed ' s/^/<F N="/' | sed ' s/$/"\/>/' | sed ' s/^/\t\t\t/' > valid_src_se.txt
512+ # # ./ --> /, // --> /
513+ sed " s@\./@/@" -i valid_filelist.txt
514+ sed " s@//@/@" -i valid_filelist.txt
515+
516+ for files in ` cat valid_filelist.txt` ; do
517+ if [ ! -e " ${files} " ] ; then
518+ sed " s@${files} @@" -i valid_filelist.txt
519+ sed ' /^$/d' -i valid_filelist.txt
520+ fi
521+ done
522+ sed " s@^${REALPATH_DIR_TO_BE_COUNT} @@" valid_filelist.txt > valid_filelist_NoPath.txt
523+ cp valid_filelist_NoPath.txt FileList_SourceInsight.txt
524+ cp valid_filelist.txt FileList_understand.txt
525+
526+ # sed "s@^@${REALPATH_DIR_TO_BE_COUNT}@" -i valid_filelist.txt
527+ cat " ${Valid_HF} " | sed " s@^@${REALPATH_DIR_TO_BE_COUNT} @" | sed ' s/^/<F N="/' | sed ' s/$/"\/>/' | sed ' s/^/\t\t\t/' > valid_hf_se.txt
528+ cat " ${VALID_SRC} " | sed " s@^@${REALPATH_DIR_TO_BE_COUNT} @" | sed ' s/^/<F N="/' | sed ' s/$/"\/>/' | sed ' s/^/\t\t\t/' > valid_src_se.txt
529+ sed " s@\./@/@" -i valid_hf_se.txt
530+ sed " s@//@/@" -i valid_hf_se.txt
531+ sed " s@\./@/@" -i valid_src_se.txt
532+ sed " s@//@/@" -i valid_src_se.txt
533+
507534 cp misc/sample.vpj .
508- # sed '/Filters="*.c;*.C/r valid_src_se.txt' sample.vpj
535+ cp misc/sample.vpw .
536+ # # !!TODO!! Add the dts file
537+ # # Append to project file
509538 sed ' /<!--SRCFILES-->/r valid_src_se.txt' -i sample.vpj
510-
511- fi
539+ sed ' /<!--HEADFILES-->/r valid_hf_se.txt' -i sample.vpj
540+ sed " s/PRJNAME/${RESULT_PRJ} /" -i sample.vpj
541+ sed " s/PRJNAME/${RESULT_PRJ} /" -i sample.vpw
542+ mkdir " ${RESULT_PRJ} " /" ${RESULT_PRJ} "
543+ mv sample.vpj " ${RESULT_PRJ} " /" ${RESULT_PRJ} " /" ${RESULT_PRJ} " .vpj
544+ mv sample.vpw " ${RESULT_PRJ} " /" ${RESULT_PRJ} " /" ${RESULT_PRJ} " .vpw
545+ mv valid* .txt " ${Gen_Tmp} "
546+ mv FileList_understand.txt " ${RESULT_PRJ} "
547+ mv FileList_SourceInsight.txt " ${RESULT_PRJ} "
548+ rm ." ${Gen_Tmp} " -rf 2> /dev/null && mv " ${Gen_Tmp} " ." ${Gen_Tmp} "
549+ sync
512550
513551if [ " ${SOURCE_CODE_TYPE} " = " UNKNOWN" ]; then
514552 echo UNKNOWN
0 commit comments