Newer
Older
web-dumps / halinria-dumps / Makefile
@Nicolas Thouvenin Nicolas Thouvenin on 24 Nov 2022 2 KB fix: use var
# Aliases
corhal-inria: corhal-inria-2014-candidats corhal-inria-2014-doublons corhal-inria-2015-candidats corhal-inria-2015-doublons  corhal-inria-2016-candidats corhal-inria-2016-doublons corhal-inria-2017-candidats corhal-inria-2017-doublons corhal-inria-2018-candidats corhal-inria-2018-doublons corhal-inria-2019-candidats corhal-inria-2019-doublons corhal-inria-2020-candidats corhal-inria-2020-doublons corhal-inria-2021-candidats corhal-inria-2022-doublons

# To set specific directory for each version
ifeq ($(strip $(Startup)),)
# use the the day of the week
#VERSION_DIR := $(shell date +%A)
# use the month
VERSION_DIR := $(shell date +%B)
else
# use no version
VERSION_DIR := .
endif

# To set ezs parameters
EZSFLAGS := --param VERSION_DIR="$(VERSION_DIR)"
# To set global  parameters
ROOT_DIR := $(shell pwd)
# To set the location and the extension of sources files (queries)
INPUT_DIR := 01-query
INPUT_EXT := txt

# To set the location and the extension of results files
OUTPUT_DIR := 05-export/$(VERSION_DIR)
OUTPUT_EXT := tsv

# To generate all files from source directory to target directory
SOURCE_FILES := $(wildcard $(INPUT_DIR)/*.$(INPUT_EXT))
TARGET_FILES := $(patsubst $(INPUT_DIR)/%.$(INPUT_EXT), $(OUTPUT_DIR)/%.$(OUTPUT_EXT), $(SOURCE_FILES))

# Phony Rules
help:
	@grep -P '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'

list: ## list all target files
	@ls -1 $(TARGET_FILES)

view: ## To view current generated files
	find $(OUTPUT_DIR)

clean-cache: ## To delete enrichment cache
	@rm -v -f $(TMPDIR)/memory

clean: ## To delete current generated files
	@rm -v -f $(TARGET_FILES)

drain: ## To delete all directories
	@rm -v -Rf 02-download 04-refine 05-export

# Rules
all: $(TARGET_FILES) ## Build all files

%: $(OUTPUT_DIR)/%.$(OUTPUT_EXT)
	[ -f $< ] && rm $<
	$(MAKE) $<

02-download/$(VERSION_DIR)/%.jsonl: 01-query/%.txt
	mkdir -p $(@D)
	time ezs $(EZSFLAGS) 02-download.ini < $< > $@


04-refine/$(VERSION_DIR)/%.jsonl: 02-download/$(VERSION_DIR)/%.jsonl
	mkdir -p $(@D)
	time ezs $(EZSFLAGS) 04-refine.ini < $< > $@


05-export/$(VERSION_DIR)/%.tsv: 04-refine/$(VERSION_DIR)/%.jsonl
	mkdir -p $(@D)
	time ezs $(EZSFLAGS) 05-export.ini < $< > $@

# To prevent deleting intermediate files (for controls)
.PRECIOUS: 02-download/$(VERSION_DIR)/%.jsonl
#03-enrichment/$(VERSION_DIR)/%.jsonl

.DEFAULT_GOAL := help
.PHONY: clean drain view help list all clean-cache