summaryrefslogtreecommitdiff
path: root/FreeRTOS/Test/VeriFast/scripts/generate_diff_files.sh
blob: db4d9469ae4ccce8df18be5751fe8c9b117c3d7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/bin/bash -eu

QUEUE_FUNCS=(
  prvCopyDataFromQueue
  prvCopyDataToQueue
  prvInitialiseNewQueue
  prvIsQueueEmpty
  prvIsQueueFull
  prvUnlockQueue
  uxQueueMessagesWaiting
  uxQueueSpacesAvailable
  vQueueDelete
  xQueueGenericCreate
  xQueueGenericReset
  xQueueGenericSend
  xQueueGenericSendFromISR
  xQueueIsQueueEmptyFromISR
  xQueueIsQueueFullFromISR
  xQueuePeek
  xQueuePeekFromISR
  xQueueReceive
  xQueueReceiveFromISR
)

LIST_FUNCS=(
  uxListRemove
  vListInitialise
  vListInitialiseItem
  vListInsertEnd
  vListInsert
)

if [ ! -d "FreeRTOS-Kernel" ]; then
    git clone https://github.com/FreeRTOS/FreeRTOS-Kernel.git
fi
pushd FreeRTOS-Kernel > /dev/null
rm -rf tags generated
ctags --excmd=number queue.c
mkdir generated
for f in ${QUEUE_FUNCS[@]}; do
  ../extract.py tags $f > generated/$f.c
done
ctags --excmd=number list.c
for f in ${LIST_FUNCS[@]}; do
  ../extract.py tags $f > generated/$f.c
done
popd > /dev/null
echo "created: FreeRTOS-Kernel/generated"

ln -fs ../queue .
pushd queue > /dev/null
rm -rf tags generated
ctags --excmd=number *.c
mkdir generated
for f in ${QUEUE_FUNCS[@]}; do
  ../scripts/extract.py tags $f > generated/$f.c
done
popd > /dev/null
echo "created: queue/generated"

ln -fs ../list .
pushd list > /dev/null
rm -rf tags generated
ctags --excmd=number *.c
mkdir generated
for f in ${LIST_FUNCS[@]}; do
  ../scripts/extract.py tags $f > generated/$f.c
done
popd > /dev/null
echo "created: list/generated"