diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2024-10-18 22:35:27 +0300 | 
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2024-10-23 18:25:23 +0300 | 
| commit | 7c5f098511b8f612a17f4ccdd8a4924c325d37e1 (patch) | |
| tree | 4a97d802557bbffcadfcfd776c8e4afdb31d96aa /scripts/gen-deps | |
| parent | 18262dcbecd97591dd15ee9274a81abb8c2ba1c4 (diff) | |
| download | lyn-7c5f098511b8f612a17f4ccdd8a4924c325d37e1.tar.gz lyn-7c5f098511b8f612a17f4ccdd8a4924c325d37e1.zip | |
initial parser+lexer
+ AST might still change, also not a *huge* fan of having to reverse
  all arrays but I guess it's unlikely to be a significant bottleneck
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 | 
