blob: 465d122d45a908d84cc627f0a38267730ed1a176 [file] [log] [blame]
Marc Kupietz1a422662024-03-16 09:34:10 +01001SRC_DIR ?= test/resources/DNB
2BUILD_DIR = build
3TARGET_DIR ?= target
4
Marc Kupietz012c7082024-03-17 16:40:47 +01005.PHONY: all clean test krill index
Marc Kupietz1a422662024-03-16 09:34:10 +01006
Marc Kupietzfc328622024-03-16 14:31:34 +01007.PRECIOUS: %.zip %.tree_tagger.zip %.ud.zip %.spacy.zip %.i5.xml %.tar
Marc Kupietz1a422662024-03-16 09:34:10 +01008
9all: $(TARGET_DIR)/dnb.i5.xml
10
Marc Kupietz3d82f562024-03-16 10:19:03 +010011krill: $(TARGET_DIR)/dnb.krill.tar
Marc Kupietz012c7082024-03-17 16:40:47 +010012index: $(TARGET_DIR)/dnb.index.tar.xz
Marc Kupietz3d82f562024-03-16 10:19:03 +010013
Marc Kupietzfa445da2024-03-16 10:46:22 +010014KORAPXML2CONLLU ?= java -jar lib/korapxml2conllu.jar
15
Marc Kupietz1a422662024-03-16 09:34:10 +010016$(TARGET_DIR)/dnb.i5.xml: $(patsubst $(SRC_DIR)/%.epub,$(TARGET_DIR)/%.i5.xml,$(wildcard $(SRC_DIR)/*.epub))
17 head -n -1 xslt/idsCorpus-template.xml > $@
18 cat $^ >> $@
19 tail -n 1 xslt/idsCorpus-template.xml >> $@
20
Marc Kupietzdfbc3f42024-03-16 11:46:41 +010021test: $(TARGET_DIR)/dnb.i5.xml
Marc Kupietz1a422662024-03-16 09:34:10 +010022 xmllint --noout --valid $<
23
24$(BUILD_DIR)/%: $(SRC_DIR)/%.epub
25 mkdir -p $@
26 echo "Converting $< to $@"
27 unzip -q -o $< -d $@
28
Marc Kupietzdfbc3f42024-03-16 11:46:41 +010029$(TARGET_DIR)/%.i5.xml: $(BUILD_DIR)/% xslt/epub2i5.xsl xslt/idsCorpus-template.xml
Marc Kupietz1a422662024-03-16 09:34:10 +010030 mkdir -p $(TARGET_DIR)
31 echo "Converting $< to $@"
32 java -jar lib/saxon9ee.jar -xsl:xslt/epub2i5.xsl $</*/content.opf > $@
33
34%.zip: %.i5.xml
35 tei2korapxml -l warn -s -tk - < $< > $@
36
37%.tree_tagger.zip: %.zip
Marc Kupietzfa445da2024-03-16 10:46:22 +010038 $(KORAPXML2CONLLU) $< | pv | docker run --rm -i korap/conllu2treetagger -l german | conllu2korapxml > $@
Marc Kupietz1a422662024-03-16 09:34:10 +010039
40%.spacy.zip: %.zip
Marc Kupietzfa445da2024-03-16 10:46:22 +010041 $(KORAPXML2CONLLU) $< | pv | docker run --rm -i korap/conllu2spacy | conllu2korapxml > $@
Marc Kupietz1a422662024-03-16 09:34:10 +010042
43%.ud.zip: %.zip
Marc Kupietzfa445da2024-03-16 10:46:22 +010044 $(KORAPXML2CONLLU) $< | pv | ./scripts/udpipe2 | conllu2korapxml > $@
Marc Kupietz1a422662024-03-16 09:34:10 +010045
Marc Kupietz22ad4b72024-03-17 16:24:21 +010046%.krill.tar: %.zip %.ud.zip %.tree_tagger.zip %.spacy.zip
Marc Kupietz3d82f562024-03-16 10:19:03 +010047 mkdir -p $(basename $@)
Marc Kupietzfc328622024-03-16 14:31:34 +010048 korapxml2krill archive --quiet -w -z -cfg krill-korap4dnb.cfg --non-word-tokens --meta I5 -i $< -i $(word 2,$^) -i $(word 3,$^) -o $(basename $@)
Marc Kupietz1a422662024-03-16 09:34:10 +010049
Marc Kupietzfc328622024-03-16 14:31:34 +010050%.json: %.krill.tar
51 rm -rf $@
52 mkdir -p $@
53 for f in $<; do tar -C $@ -xf $$f; done
Marc Kupietz1a422662024-03-16 09:34:10 +010054
Marc Kupietz22ad4b72024-03-17 16:24:21 +010055%.index: %.json
56 rm -rf $@
Marc Kupietz012c7082024-03-17 16:40:47 +010057 java -jar lib/Krill-Indexer.jar -c lib/krill.conf -i $< -o $@
Marc Kupietz22ad4b72024-03-17 16:24:21 +010058
59%.index.tar.xz: %.index
60 tar -I 'xz -T0' -C $(dir $<) -cf $@ $(notdir $<)
61
Marc Kupietz1a422662024-03-16 09:34:10 +010062clean:
63 rm -rf $(BUILD_DIR) $(TARGET_DIR)
64