diff options
author | Kimplul <kimi.h.kuparinen@gmail.com> | 2024-06-23 23:31:46 +0300 |
---|---|---|
committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2024-06-23 23:38:49 +0300 |
commit | 5a4da8bac457f0e70e690a572eba9cf754e69a37 (patch) | |
tree | 58e48f1b12722eadbc1b2587b690b30afac54140 /scripts/gen-deps | |
download | ejit-5a4da8bac457f0e70e690a572eba9cf754e69a37.tar.gz ejit-5a4da8bac457f0e70e690a572eba9cf754e69a37.zip |
initial interpeter testing
Diffstat (limited to 'scripts/gen-deps')
-rwxr-xr-x | scripts/gen-deps | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/scripts/gen-deps b/scripts/gen-deps new file mode 100755 index 0000000..f45707c --- /dev/null +++ b/scripts/gen-deps @@ -0,0 +1,37 @@ +#!/bin/sh + +PREFIX= +COMPILE=COMPILE +LINT=LINT +BUILD=build/ + +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 + +shift $((OPTIND - 1)) + +# create all subdirectories +mkdir -p $(echo "${@}" | tr ' ' '\n' | sed "s|[^/]*$||;s|^|${BUILD}/|" | uniq) + +for s in ${@} +do + 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 |