Skip to content

Commit 891b2f7

Browse files
committed
Add slickedit project generation support
Change-Id: I5a0cb045c4c61dce600a341e0034c1a12f60cad7
1 parent 07182b7 commit 891b2f7

File tree

2 files changed

+103
-64
lines changed

2 files changed

+103
-64
lines changed

PF_Prj_Gen.sh

Lines changed: 102 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ cd "${DIR_TO_BE_COUNT}" >/dev/null
6464
REALPATH_DIR_TO_BE_COUNT="${PWD}"
6565
cd - >/dev/null
6666
REALPATH_DIR_TO_BE_COUNT="${REALPATH_DIR_TO_BE_COUNT}""/"
67-
RESULT_DIR=$2
67+
RESULT_PRJ=$2
6868

6969
Gen_Tmp="Gen_Tmp"
7070
if [ -d "${Gen_Tmp}" ] ; then
@@ -93,10 +93,10 @@ echo -e "${Echo_Yellow_BG}"
9393
echo -e "${Echo_Color_Reset}"
9494
yes '-' | 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}"
9898
else
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}
101101
fi
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
302303
fi
@@ -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

513551
if [ "${SOURCE_CODE_TYPE}" = "UNKNOWN" ]; then
514552
echo UNKNOWN

misc/sample.vpj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,7 @@
205205
<Folder
206206
Name="Header Files"
207207
Filters="*.h;*.H;*.hh;*.hpp;*.hxx;*.inc;*.sh;*.cpy;*.if">
208+
<!--HEADFILES-->
208209
</Folder>
209210
<Folder
210211
Name="Resource Files"

0 commit comments

Comments
 (0)