Skip to content

Commit b5c0ff7

Browse files
committed
- added maintainer script
- updated master makefile
1 parent 069c929 commit b5c0ff7

File tree

5 files changed

+74
-32
lines changed

5 files changed

+74
-32
lines changed

Makefile

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,19 @@ TOP = ./
55

66
# run all unit tests in all folders
77
check:
8-
$(TOP)/check.sh
8+
$(TOP)/project_manager.sh -k test/
9+
$(TOP)/project_manager.sh -k c-project/
10+
$(TOP)/project_manager.sh -k common/
911

1012
# clean all projects for maintaining purpose
1113
clean:
12-
$(TOP)/cleanup.sh
14+
$(TOP)/project_manager.sh -c test/
15+
$(TOP)/project_manager.sh -c c-project/
1316

1417
# show readme file
15-
info help man:
18+
readme info:
1619
@view README.md
1720

21+
# show help
22+
help:
23+
$(TOP)/project_manager.sh -h

check.sh

Lines changed: 0 additions & 17 deletions
This file was deleted.

cleanup.sh

Lines changed: 0 additions & 12 deletions
This file was deleted.

common/unittest.mk

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,20 @@ TEST_GEN:
3030
$(foreach f, $(TEST_HEADERS), cxxtestgen --error-printer -o $(f).cpp $(f) ; )
3131
$(MAKE) test_compile
3232

33+
ifneq ($(filter $(BRIEF), $(TRUE)),) # check if compile message should be output, BRIEF means no
34+
check:
35+
$(MAKE) TEST_GEN > /dev/null
36+
@printf "Running test binaries \n\n"
37+
-$(foreach bin, $(TEST_BINARIES), ./$(bin) ; )
38+
@printf "\nDone running tests\n"
39+
$(MAKE) cleantest > /dev/null
40+
else
3341
check: TEST_GEN
3442
@printf "Running test binaries \n\n"
3543
-$(foreach bin, $(TEST_BINARIES), ./$(bin) ; )
3644
@printf "\nDone running tests\n"
3745
$(MAKE) cleantest > /dev/null
46+
endif
3847
##########################################################################################
3948

4049
test_compile: $(TEST_OBJECTS) $(TEST_BIN_OBJS) $(TEST_BINARIES)

project_manager.sh

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
#!/bin/bash
2+
#
3+
# maintainer script
4+
#
5+
6+
# path to this script file
7+
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
8+
SCRIPT_DIR_RELATIVE=$0
9+
10+
# run all make check in directory recursively
11+
function checkFolder()
12+
{
13+
find "$1" -name Makefile | while read line; do
14+
local TEST_DIR=$(dirname $line)/test/
15+
if [ -d "$TEST_DIR" ] ; then
16+
make -C $(dirname $line) check BRIEF=1
17+
fi
18+
done
19+
}
20+
21+
# run make clean in dir recursively
22+
function cleanFolder()
23+
{
24+
find "$1" -name Makefile | while read line; do
25+
make -C $(dirname $line) clean
26+
done
27+
}
28+
29+
function showHelp()
30+
{
31+
cat << EOF
32+
usage: $SCRIPT_DIR_RELATIVE option [value]
33+
34+
OPTION DECRIPTION
35+
-c dir search in dir recursively and run make clean
36+
-k dir search in dir recursively and run make check
37+
EOF
38+
}
39+
40+
# main ##############################################################
41+
# getopt
42+
while getopts ":c:k:" o; do
43+
case "${o}" in
44+
c)
45+
cleanFolder ${OPTARG}
46+
;;
47+
k)
48+
checkFolder ${OPTARG}
49+
;;
50+
*)
51+
showHelp
52+
;;
53+
esac
54+
done
55+
shift $((OPTIND-1))
56+

0 commit comments

Comments
 (0)