# Makefile to generate the MPlayer homepage from template files
# Note that the build will fail if there is an English master file
# without translation.

DESIGNS      = design7 design6 design5 design4 design3
TRANSLATIONS = es hu pl ru
SRCS         = dload documentation donations history info mailing_lists media news news-archive projects screen
SRCS_ESSAYS  = interview-arpi interview-gabucino interview-pontscho konf2002 konf2002-arpi konf2002-pontscho
SRCS_PATH        = $(foreach design,$(DESIGNS),$(foreach source,$(SRCS),$(design)/$(source)))
SRCS_ESSAYS_PATH = $(foreach design,$(DESIGNS),$(foreach source,$(SRCS_ESSAYS),$(design)/$(source)))

homepage: $(foreach source,$(SRCS_PATH) $(SRCS_ESSAYS_PATH), $(source).html) \
          $(foreach source,$(SRCS_PATH),$(foreach lang,$(TRANSLATIONS),$(source)-$(lang).html)) \
          $(foreach source,$(SRCS_ESSAYS_PATH), $(source)-hu.html)

define page_template
$(design)/$(source)$(3).html: $(design)/src/upper $(design)/src/selector$(4) $(1)/$(source).$(2) $(design)/src/lower
	cat $$^ > $$@
endef

# English is available for all designs
$(foreach design,$(DESIGNS),$(foreach source,$(SRCS),$(eval $(call page_template,src,en))))

# design7 has translated templates
$(foreach design,design7,$(foreach source,$(SRCS),$(foreach lang,$(TRANSLATIONS),$(eval $(call page_template,src,$(lang),-$(lang),-$(lang))))))

# design6 has Hungarian templates available
$(foreach design,design6,$(foreach source,$(SRCS),$(eval $(call page_template,src,hu,-hu,-hu))))
$(foreach design,design6,$(foreach source,$(SRCS),$(foreach lang,es pl ru,$(eval $(call page_template,src,$(lang),-$(lang))))))

# no translated templates for old designs
$(foreach design,design5 design4 design3,$(foreach source,$(SRCS),$(foreach lang,$(TRANSLATIONS),$(eval $(call page_template,src,$(lang),-$(lang))))))

# essays are available in English and Hungarian
$(foreach design,$(DESIGNS),$(foreach source,$(SRCS_ESSAYS),$(eval $(call page_template,essays/src,en))))
$(foreach design,design7 design6,$(foreach source,$(SRCS_ESSAYS),$(eval $(call page_template,essays/src,hu,-hu,-hu))))
$(foreach design,design5 design4 design3,$(foreach source,$(SRCS_ESSAYS),$(eval $(call page_template,essays/src,hu,-hu))))

clean:
	rm -f $(addsuffix /*.html,$(DESIGNS))

.PHONY: clean homepage
