If you don't have flex installed, the dfasyn/Makefile incorrectly
creates an empty scan.c and dies. If you then install flex and re-run
the Makefile, the existence of the bogus scan.c causes the rest of
the build process to blunder on and eventually die with undefined symbols.
Makefiles should never create empty files. Change this line:
flex -t -s scan.l >scan.c
to this line
flex -s -o scan.c scan.l
and things work correctly.
"make clean" produces a lot of unnecessary errors. Change "rm" to "rm -f".