ravenous.dev/listings.make

.PHONY: before generated/modules/listings.tar

files := $(shell find generated/repos \
	-not -path '*/[@.]*' \
	-not -name '^\\.' \
	-not -type d \
)
directories := $(shell find generated/repos \
	-not -path '*/[@.]*' \
	-type d \
)
listings := \
	$(patsubst generated/repos/%,generated/listings/%.htm,$(files)) \
	$(patsubst generated/repos/%,generated/listings/%/index.html,$(directories))

generated/modules/listings.tar: $(listings)
	cd generated && \
	tar -cf modules/listings.tar $(patsubst generated/%,%,$^)

generated/listings/%/index.html: generated/repos/%
	mkdir -p $(dir $@)
	cd generated && \
	sitegen.lua ../listing.lua repos listings \
		$(patsubst generated/repos/%,%,$<) \
		> $(patsubst generated/%,%,$@)

# little hack: using htm to avoid any collisions with index.html
generated/listings/%.htm: generated/repos/%
	mkdir -p $(dir $@)
	cd generated && \
	sitegen.lua ../listing.lua repos listings \
		$(patsubst generated/repos/%,%,$<) \
		> $(patsubst generated/%,%,$@)

before:
	updaterepos.lua