@@ -25,7 +25,9 @@ ALL_TESSERACT_MODELS = eng equ osd $(TESSERACT_MODELS)
2525# to nested venv in recursive calls for modules
2626# that have known dependency clashes with others
2727export VIRTUAL_ENV ?= $(CURDIR ) /venv
28+ ifeq (0, $(MAKELEVEL ) )
2829SUB_VENV = $(VIRTUAL_ENV ) /sub-venv
30+ endif
2931
3032BIN = $(VIRTUAL_ENV ) /bin
3133SHARE = $(VIRTUAL_ENV ) /share
@@ -266,7 +268,7 @@ OCRD_COR_ASV_ANN += $(BIN)/cor-asv-ann-compare
266268OCRD_COR_ASV_ANN += $(BIN ) /cor-asv-ann-repl
267269$(call multirule,$(OCRD_COR_ASV_ANN ) ) : cor-asv-ann
268270ifeq (0,$(MAKELEVEL ) )
269- $(MAKE) -B -o $< $(notdir $(OCRD_COR_ASV_ANN)) PIP="$(PIP) -c constraints-tf1.txt" VIRTUAL_ENV=$(SUB_VENV)/headless-tf1
271+ $(MAKE) -B -o $< $(notdir $(OCRD_COR_ASV_ANN)) VIRTUAL_ENV=$(SUB_VENV)/headless-tf1
270272 $(call delegate_venv,$(OCRD_COR_ASV_ANN),$(SUB_VENV)/headless-tf1)
271273cor-asv-ann-check :
272274 $(MAKE ) check OCRD_MODULES=cor-asv-ann VIRTUAL_ENV=$(SUB_VENV ) /headless-tf1
@@ -294,7 +296,7 @@ OCRD_COR_ASV_FST := $(BIN)/ocrd-cor-asv-fst-process
294296OCRD_COR_ASV_FST += $(BIN ) /cor-asv-fst-train
295297$(call multirule,$(OCRD_COR_ASV_FST ) ) : cor-asv-fst
296298ifeq (0,$(MAKELEVEL ) )
297- $(MAKE) -B -o $< $(notdir $(OCRD_COR_ASV_FST)) PIP="$(PIP) -c constraints-tf1.txt" VIRTUAL_ENV=$(SUB_VENV)/headless-tf1
299+ $(MAKE) -B -o $< $(notdir $(OCRD_COR_ASV_FST)) VIRTUAL_ENV=$(SUB_VENV)/headless-tf1
298300 $(call delegate_venv,$(OCRD_COR_ASV_FST),$(SUB_VENV)/headless-tf1)
299301cor-asv-fst-check :
300302 $(MAKE ) check OCRD_MODULES=cor-asv-fst VIRTUAL_ENV=$(SUB_VENV ) /headless-tf1
@@ -313,7 +315,7 @@ OCRD_KERASLM := $(BIN)/ocrd-keraslm-rate
313315OCRD_KERASLM += $(BIN ) /keraslm-rate
314316$(call multirule,$(OCRD_KERASLM ) ) : ocrd_keraslm
315317ifeq (0,$(MAKELEVEL ) )
316- $(MAKE) -B -o $< $(notdir $(OCRD_KERASLM)) PIP="$(PIP) -c constraints-tf1.txt" VIRTUAL_ENV=$(SUB_VENV)/headless-tf1
318+ $(MAKE) -B -o $< $(notdir $(OCRD_KERASLM)) VIRTUAL_ENV=$(SUB_VENV)/headless-tf1
317319 $(call delegate_venv,$(OCRD_KERASLM),$(SUB_VENV)/headless-tf1)
318320ocrd_keraslm-check :
319321 $(MAKE ) check OCRD_MODULES=ocrd_keraslm VIRTUAL_ENV=$(SUB_VENV ) /headless-tf1
@@ -386,7 +388,7 @@ OCRD_SEGMENT += $(BIN)/ocrd-segment-replace-page
386388OCRD_SEGMENT += $(BIN ) /ocrd-segment-repair
387389$(call multirule,$(OCRD_SEGMENT ) ) : ocrd_segment
388390ifeq (0,$(MAKELEVEL ) )
389- $(MAKE) -B -o $< $(notdir $(OCRD_SEGMENT)) PIP="$(PIP) -c constraints-tf1.txt" VIRTUAL_ENV=$(SUB_VENV)/headless-tf1
391+ $(MAKE) -B -o $< $(notdir $(OCRD_SEGMENT)) VIRTUAL_ENV=$(SUB_VENV)/headless-tf1
390392 $(call delegate_venv,$(OCRD_SEGMENT),$(SUB_VENV)/headless-tf1)
391393ocrd_segment-check :
392394 $(MAKE ) check OCRD_MODULES=ocrd_segment VIRTUAL_ENV=$(SUB_VENV ) /headless-tf1
@@ -537,7 +539,7 @@ OCRD_EXECUTABLES += $(SBB_BINARIZATION)
537539SBB_BINARIZATION := $(BIN ) /ocrd-sbb-binarize
538540$(SBB_BINARIZATION ) : sbb_binarization
539541ifeq (0,$(MAKELEVEL ) )
540- $(MAKE) -B -o $< $(notdir $(SBB_BINARIZATION)) PIP="$(PIP) -c constraints-tf1.txt" VIRTUAL_ENV=$(SUB_VENV)/headless-tf1
542+ $(MAKE) -B -o $< $(notdir $(SBB_BINARIZATION)) VIRTUAL_ENV=$(SUB_VENV)/headless-tf1
541543 $(call delegate_venv,$(SBB_BINARIZATION),$(SUB_VENV)/headless-tf1)
542544sbb_binarization-check :
543545 $(MAKE ) check OCRD_MODULES=sbb_binarization VIRTUAL_ENV=$(SUB_VENV ) /headless-tf1
@@ -558,7 +560,7 @@ OCRD_EXECUTABLES += $(SBB_LINE_DETECTOR)
558560SBB_LINE_DETECTOR := $(BIN ) /ocrd-sbb-textline-detector
559561$(SBB_LINE_DETECTOR ) : sbb_textline_detector
560562ifeq (0,$(MAKELEVEL ) )
561- $(MAKE) -B -o $< $(notdir $(SBB_LINE_DETECTOR)) PIP="$(PIP) -c constraints-tf1.txt" VIRTUAL_ENV=$(SUB_VENV)/headless-tf1
563+ $(MAKE) -B -o $< $(notdir $(SBB_LINE_DETECTOR)) VIRTUAL_ENV=$(SUB_VENV)/headless-tf1
562564 $(call delegate_venv,$(SBB_LINE_DETECTOR),$(SUB_VENV)/headless-tf1)
563565sbb_textline_detector-check :
564566 $(MAKE ) check OCRD_MODULES=sbb_textline_detector VIRTUAL_ENV=$(SUB_VENV ) /headless-tf1
@@ -579,7 +581,7 @@ OCRD_EXECUTABLES += $(EYNOLLAH_SEGMENT)
579581EYNOLLAH_SEGMENT := $(BIN ) /ocrd-eynollah-segment
580582$(EYNOLLAH_SEGMENT ) : eynollah
581583ifeq (0,$(MAKELEVEL ) )
582- $(MAKE) -B -o $< $(notdir $(EYNOLLAH_SEGMENT)) PIP="$(PIP) -c constraints-tf1.txt" VIRTUAL_ENV=$(SUB_VENV)/headless-tf1
584+ $(MAKE) -B -o $< $(notdir $(EYNOLLAH_SEGMENT)) VIRTUAL_ENV=$(SUB_VENV)/headless-tf1
583585 $(call delegate_venv,$(EYNOLLAH_SEGMENT),$(SUB_VENV)/headless-tf1)
584586eynollah-check :
585587 $(MAKE ) check OCRD_MODULES=eynollah VIRTUAL_ENV=$(SUB_VENV ) /headless-tf1
@@ -617,9 +619,15 @@ endif
617619# install gracefully with dependencies, and finally
618620# install again forcefully without depds (to ensure
619621# the binary itself updates):
622+ ifeq ($(findstring headless-tf1, $(VIRTUAL_ENV ) ) ,)
620623define pip_install
621624. $(ACTIVATE_VENV ) && cd $< && $(SEMPIP ) $(PIP ) install $(PIP_OPTIONS_E ) . && touch -c $@
622625endef
626+ else
627+ define pip_install
628+ . $(ACTIVATE_VENV ) && cd $< && $(SEMPIP ) $(PIP ) install -c $(CURDIR ) /constraints_tf1.txt $(PIP_OPTIONS_E ) . && touch -c $@
629+ endef
630+ endif
623631
624632# pattern for recursive make:
625633# $(executables...): module...
0 commit comments