Does not take target-local variable assignments into account
I am actually coming from the fork at https://github.com/chadsgilbert/makefile2dot, which is linked by the PyPI page at https://pypi.org/project/makefile2dot/. However, there I cannot create issues and I am assuming, that the same issue persists in this repository:
In Makefiles one can assign variables locally for only one target. For example:
target1: SOME_VAR := some_value
target1:
printf "%s\n" "${SOME_VAR}"
When this kind of Makefile is input for makefile2dot, then makefile2dot fails:
$ makefile2dot
Traceback (most recent call last):
File "LOCATION_OF_MYVENV/bin/makefile2dot", line 23, in <module>
makefile2dot(direction=ARGS.direction, output=ARGS.output, view=ARGS.view)
File "LOCATION_OF_MYVENV/lib/python3.10/site-packages/makefile2dot/__init__.py", line 71, in makefile2dot
graph = build_graph(stream_database(), direction=direction)
File "LOCATION_OF_MYVENV/lib/python3.10/site-packages/makefile2dot/__init__.py", line 39, in build_graph
target, dependencies = line.split(':')
ValueError: too many values to unpack (expected 2)
make: *** [Makefile:385: makefile-graph] Error 1
makefile2dot does not take local variable assignment syntax into account and runs into an error.
thank you for your interest.
This project was just to solve the task I was having. I never considered this project seriously :) Feel free to clone, fix and enrich it!