Files
langkit-query-language/Makefile
Pierre-Marie de Rodat 0638ab3dbc Makefile: decorrelate Python distribs for e3 and Langkit
Now that langkit.anod has been reworked so that the Python distribution
it builds no longer includes e3, a separate Python distribution is
needed to run impactdb scripts.
2026-01-30 18:02:23 +00:00

58 lines
1.7 KiB
Makefile

BUILD_MODE=dev
PROCS=0
LANGKIT_PYTHON=python
E3_PYTHON=python
MAVEN=mvn
GPRBUILD=gprbuild -j$(PROCS) -p -XBUILD_MODE=$(BUILD_MODE)
LKM="$(LANGKIT_PYTHON)" -m langkit.scripts.lkm
KP_JSON=lkql_checker/share/lkql/kp/kp.json
ADDITIONAL_LKM_ARGS=
LKM_ARGS=--build-mode=$(BUILD_MODE) --library-types=relocatable --maven-executable $(MAVEN) -j$(PROCS) $(ADDITIONAL_LKM_ARGS)
ADDITIONAL_MAVEN_ARGS=
MAVEN_ARGS=-Dconfig.python="$(LANGKIT_PYTHON)" $(ADDITIONAL_MAVEN_ARGS)
all: liblkqllang lkql_jit lkql_checker
liblkqllang:
$(LKM) make -c lkql/langkit.yaml \
--pass-on="emit railroad diagrams" \
--disable-java \
$(LKM_ARGS)
install_lkql_java_bindings: liblkqllang
"$(MAVEN)" -f lkql/build/java/ install $(MAVEN_ARGS)
lkql_jit: install_lkql_java_bindings
"$(MAVEN)" -f lkql_jit/ clean package -P native,$(BUILD_MODE) $(MAVEN_ARGS)
lkql_checker: liblkqllang impacts
$(GPRBUILD) -P lkql_checker/lkql_checker.gpr -p $(GPR_ARGS) -XBUILD_MODE=$(BUILD_MODE)
doc:
cd user_manual && make clean html
cd lkql_checker/doc && make generate all
impacts:
[ -f "$(KP_JSON)" ] || "$(E3_PYTHON)" "./utils/impact-db_impacts_gen.py"
format:
gnatformat -P lkql_checker/lkql_checker.gpr --no-subprojects
"$(MAVEN)" -f lkql_jit spotless:apply $(MAVEN_ARGS)
test:
testsuite/testsuite.py -j$(PROCS) -Edtmp
clean: clean_lkql_jit clean_lkql_checker clean_liblkqllang
clean_liblkqllang:
rm lkql/build -rf
clean_lkql_jit:
"$(MAVEN)" -f lkql_jit clean $(MAVEN_ARGS)
clean_lkql_checker:
cd lkql_checker && gprclean
[ -f "$(KP_JSON)" ] && rm "$(KP_JSON)"
.PHONY: liblkqllang install_lkql_java_bindings lkql_jit lkql_checker doc impacts format test clean_liblkqllang clean_lkql_jit clean_lkql_checker