aboutsummaryrefslogtreecommitdiff
path: root/scripts/gen-deps
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2025-08-10 21:37:15 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2025-08-10 21:37:15 +0300
commit82c77b22605d691884be4c4e1e6bae8d66598d02 (patch)
tree040a9e97c12abc14b2ecda6bd16662b6908c083e /scripts/gen-deps
parent489beadf61d05f40dd4ac40e4e5290502f7ad078 (diff)
downloadgran-82c77b22605d691884be4c4e1e6bae8d66598d02.tar.gz
gran-82c77b22605d691884be4c4e1e6bae8d66598d02.zip
make tests actually useful
+ Apparently quite a few components are currently broken, didn't even remember
Diffstat (limited to 'scripts/gen-deps')
-rwxr-xr-xscripts/gen-deps54
1 files changed, 28 insertions, 26 deletions
diff --git a/scripts/gen-deps b/scripts/gen-deps
index 0feed7e..1238a94 100755
--- a/scripts/gen-deps
+++ b/scripts/gen-deps
@@ -1,35 +1,37 @@
#!/bin/sh
-gencommon () {
- lint="build/${s%.*}${1}.l"
- dep="build/${s%.*}${1}.d"
- obj="build/${s%.*}${1}"
+PREFIX=
+COMPILE=COMPILE
+LINT=LINT
+BUILD=build
- echo "${dep}:" >> deps.mk
- echo "include ${dep}" >> deps.mk
- echo "${obj}: ${s}" >> deps.mk
-}
-
-genobjs () {
- gencommon ".o"
- echo "${obj}: ${s}" >> deps.mk
- echo " \$(COMPILE) -c $< -o \$@" >> deps.mk
-
- echo "${lint}: ${s}" >> deps.mk
- echo " \$(LINT) -c ${s} -o /dev/null" >> deps.mk
-}
+while getopts "p:c:b:l:" opt; do
+ case "$opt" in
+ p) PREFIX="$OPTARG"_;;
+ c) COMPILE="$OPTARG";;
+ l) LINT="$OPTARG";;
+ b) BUILD=build/"$OPTARG";;
+ *) echo "unrecognised option -$OPTARG" >&2; exit 1;;
+ esac
+done
-case "${1}" in
- --sources)
- func=genobjs
- ;;
-esac
+shift $((OPTIND - 1))
# create all subdirectories
-mkdir -p $(echo "${2}" | xargs dirname | uniq | sed 's|^|build/|g')
+mkdir -p $(echo "${@}" | tr ' ' '\n' | sed "s|[^/]*$||;s|^|${BUILD}/|" | uniq)
-for s in ${2}
+for s in ${@}
do
- ${func} ${suffix}
- echo ${obj}
+ obj="${BUILD}/${s%.*}.o"
+ lint="${obj}.l"
+ dep="${obj}.d"
+
+ echo "${PREFIX}OBJS += ${obj}" >> deps.mk
+ echo "${PREFIX}LINTS += ${lint}" >> deps.mk
+ echo "${dep}:" >> deps.mk
+ echo "-include ${dep}" >> deps.mk
+ echo "${obj}: ${s}" >> deps.mk
+ echo " \$(${COMPILE}) -c ${s} -o ${obj}" >> deps.mk
+ echo "${lint}: ${s}" >> deps.mk
+ echo " \$(${LINT}) -c ${s} -o /dev/null" >> deps.mk
done