##
## Notion manual page Makefile
##

# System-specific configuration is in system.mk
TOPDIR=..
include $(TOPDIR)/build/system-inc.mk

######################################

TRANSLATIONS=fi cs

WELCOME_TARGETS=\
	welcome.txt \
	$(foreach tr, $(TRANSLATIONS), welcome.$(tr).txt)

TARGETS=notion.1 $(foreach tr, $(TRANSLATIONS), notion.$(tr).1) \
	pwm3.1 $(foreach tr, $(TRANSLATIONS), pwm3.$(tr).1) \
	$(WELCOME_TARGETS)

MKMAN=$(LUA) ../build/mkman.lua $(MKMAN_DEFS)
MKMAN_DEFS=-D ETCDIR $(REL)$(ETCDIR) -D DOCDIR $(REL)$(DOCDIR)

ifeq ($(RELOCATABLE),1)
REL="/..."
endif

NROFF=nroff -man -Tlatin1
#FILTERCRAP=perl -p -i -e 's/.\10//g'
FILTERCRAP=$(LUA) -e 'io.write((string.gsub(io.read("*a"), ".\8", "")))'

CONFIGS=../etc/cfg_notioncore.lua \
	../etc/cfg_tiling.lua \
	../etc/cfg_query.lua \
	../etc/cfg_menu.lua

# TODO: PWM configuration file is undocumented
PWM_CONFIGS=\
	../etc/cfg_notioncore.lua \
	../etc/cfg_menu.lua \
	../pwm/cfg_pwm.lua

######################################

include $(TOPDIR)/build/rules.mk

######################################

notion.1: notion.in $(CONFIGS)
	$(MKMAN) -i $< -o $@ $(CONFIGS)

pwm3.1: pwm3.in $(PWM_CONFIGS)
	$(MKMAN) -i $< -o $@ $(PWM_CONFIGS)

notion.%.1: notion.%.in $(CONFIGS) ../po/%.po
	$(MKMAN) -po ../po/$*.po -i $< -o $@ $(CONFIGS)

pwm3.%.1: pwm3.%.in $(PWM_CONFIGS) ../po/%.po
	$(MKMAN) -po ../po/$*.po -i $< -o $@ $(PWM_CONFIGS)

welcome%txt: welcome%head notion%1
	(cat welcome$*head; \
	$(NROFF) notion$*1 | $(FILTERCRAP)) > $@

_install:
	$(INSTALLDIR) $(DESTDIR)$(MANDIR)/man1
	$(INSTALL) -m $(DATA_MODE) notion.1 $(DESTDIR)$(MANDIR)/man1
	$(INSTALL) -m $(DATA_MODE) pwm3.1 $(DESTDIR)$(MANDIR)/man1
	for tr in $(TRANSLATIONS); do \
		$(INSTALLDIR) $(DESTDIR)$(MANDIR)/$$tr/man1 ; \
		$(INSTALL) -m $(DATA_MODE) notion.$$tr.1 $(DESTDIR)$(MANDIR)/$$tr/man1/notion.1 ; \
		$(INSTALL) -m $(DATA_MODE) pwm3.$$tr.1 $(DESTDIR)$(MANDIR)/$$tr/man1/pwm3.1 ; \
	done
	$(INSTALLDIR) $(DESTDIR)$(SHAREDIR)
	for i in $(WELCOME_TARGETS); do \
		$(INSTALL) -m $(DATA_MODE) $$i $(DESTDIR)$(SHAREDIR) ; \
	done
