# ======================================================================
# Makefile.baserules
# Copyright (c) Markus Kohm, 2002-2012
#
# This file is part of the LaTeX2e KOMA-Script bundle.
#
# This work may be distributed and/or modified under the conditions of
# the LaTeX Project Public License, version 1.3c of the license.
# The latest version of this license is in
#   http://www.latex-project.org/lppl.txt
# and version 1.3c or later is part of all distributions of LaTeX 
# version 2005/12/01 or later and of this work.
#
# This work has the LPPL maintenance status "author-maintained".
#
# The Current Maintainer and author of this work is Markus Kohm.
#
# This work consists of all files listed in manifest.txt.
# ----------------------------------------------------------------------
# Makefile.baserules
# Copyright (c) Markus Kohm, 2002-2012
#
# Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
# Version 1.3c, verteilt und/oder veraendert werden.
# Die neuste Version dieser Lizenz ist
#   http://www.latex-project.org/lppl.txt
# und Version 1.3c ist Teil aller Verteilungen von LaTeX
# Version 2005/12/01 oder spaeter und dieses Werks.
#
# Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
# (allein durch den Autor verwaltet).
#
# Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm.
# 
# Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien.
# ======================================================================

.PHONY: default default_recursive default_local \
	prepare prepare_recursive prepare_local \
	install install_recursive install_local \
	uninstall uninstall_recursive uninstall_local \
	mktexlsr \
	clean clean_recursive clean_local \
	dist dist_prior dist_recursice dist_post \
	dist-bz2 dist-bz2_post \
	dist-zip dist-zip_post
	maintain maintain_prior maintain_recursice maintain_post \
	maintain-bz2 maintain-bz2_post \
	maintain-zip maintain-zip_post \
	testlist testinit testtest

# ----------------------------------------------------------------------
# The default rule
default: prepare default_recursive

# Prepare for the defaut rule
prepare: prepare_recursive

# Install all files
install: install_recursive mktexlsr

# Uninstall all files
uninstall: uninstall_recursive mktexlsr

mktexlsr:
	$(MKTEXLSR)

# Delete all files, which are generated for generation.
# "make; make clean; make" should be same like "make; make clean"
clean: clean_recursive

# Delete all files, which are not part of the distribution
distclean: distclean_recursive

# Delete all files, which are generated
maintainclean: maintainclean_recursive

# Create tar.gz, tar.bz2 or zip with distribution
dist: dist_prior dist_recursive dist_post

dist-bz2: dist_prior dist_recursive dist-bz2_post

dist-zip: dist_prior dist_recursive dist-zip_post

# Create tar.gz, tar.bz2 or zip with maintainance files
maintain: maintain_prior maintain_recursive maintain_post

maintain-bz2: maintain_prior maintain_recursive maintain-bz2_post

maintain-zip: maintain_prior maintain_recursive maintain-zip_post

testlist:
	$(MAKE) -C testsuite $@

testinit:
	$(MAKE) -C testsuite $@

testtest:
	$(MAKE) -C testsuite $@


# ----------------------------------------------------------------------

# ----------------------------------------------------------------------
# recursive rules (don't call them, call the rules above)
ifdef SUBDIRS
define make_recursive
	for dir in $(SUBDIRS); \
	do \
	    $(MAKE) -C $$dir $< || exit $$?; \
	done
endef
else
define make_recursive
endef
endif

default_recursive: default_local
	$(make_recursive)

prepare_recursive: prepare_local
	$(make_recursive)

install_recursive: install_local
	$(make_recursive)

uninstall_recursive: uninstall_local
	$(make_recursive)

clean_recursive: clean_local
	$(make_recursive)

distclean_recursive: distclean_local
	$(make_recursive)

maintainclean_recursive: maintainclean_local
	$(make_recursive)

dist_recursive: dist_local
	$(make_recursive)

maintain_recursive: maintain_local
	$(make_recursive)
# ----------------------------------------------------------------------