EDIT: with later compiler releases, you can compile whole trees:
java -jar fregec.jar -d classes/ -make directory1/ directory2/
If the answer below is out of date.
The short answer is no.
Long answer:
- If you have an application, you need to know the roots, these are modules containing the
main
functions. They can be compiled immediately with the -make option if they are independent of each other. - In the case of libraries, you can create a pseudo-module that simply imports all the modules belonging to the library and compiles them.
- If none of the above steps help, and you just need to compile "all that is," you can do this by simply passing all the file names using the -make option (see below). The disadvantage is that some files may be compiled twice.
- The Frege constructor of the eclipse plugin compiles all the files in the correct order in the full version.
It would seem that such functionality is also necessary for the command line compiler.
By the way, I could not recover your error of "cyclic dependence". I used the following command:
java -jar ~/frege/fregec.jar -d bin -make -sp Real_World_Frege-master/ $(find . -type f -name '*.fr' -print)
In fact, this error should only be noted if A imports B, and B (or something that imports B) imports A.
Ingo source share