lama_byterun/byterun/dune

47 lines
1.2 KiB
Text

(rule
(target byterun.exe)
(deps
(:include (source_tree include))
(:main src/cli.cpp)
(:parser src/parser.cpp)
(:analyzer src/analyzer.cpp)
(:module_manager module_manager.o)
(:obj types.o interpreter.o)
(:runtime ../runtime/runtime.a))
(mode
(promote (until-clean)))
(action
(run g++ -Wall -Wextra -std=c++20 -DWITH_CHECK -Iinclude/ %{main} %{parser} %{analyzer} %{module_manager} %{runtime} %{obj} -o %{target})))
(rule
(target types.o)
(deps
(:include (source_tree include))
(:src src/types.c)
(:runtime ../runtime/runtime.a))
(mode
(promote (until-clean)))
(action
(run gcc -Wall -Wextra -Iinclude/ -DWITH_CHECK -c %{src} -o %{target})))
(rule
(target interpreter.o)
(deps
(:include (source_tree include))
(:src src/interpreter.c)
(:runtime ../runtime/runtime.a))
(mode
(promote (until-clean)))
(action
(run gcc -Wall -Wextra -Iinclude/ -DWITH_CHECK -c %{src} -o %{target})))
(rule
(target module_manager.o)
(deps
(:include (source_tree include))
(:src src/module_manager.cpp)
(:runtime ../runtime/runtime.a))
(mode
(promote (until-clean)))
(action
(run g++ -Wall -Wextra -std=c++20 -Iinclude/ -c %{src} -o %{target})))