# file      : makefile
# author    : Boris Kolpackov <boris@codesynthesis.com>
# copyright : Copyright (c) 2009 Code Synthesis Tools CC
# license   : GNU GPL v2 + exceptions; see accompanying LICENSE file

include $(dir $(lastword $(MAKEFILE_LIST)))/build-0.3/bootstrap.make

default  := $(out_base)/

.PHONY: $(default) test install dist dist-win clean

# Build.
#
$(default): $(out_base)/xsd/xsd/

# Test.
#
test: $(out_base)/xsd/.test

# Install.
#
install: $(out_base)/xsd/.install

# Dist.
#
dist: $(out_base)/xsd/.dist
dist-win: $(out_base)/xsd/.dist-win

# Clean.
#
clean: $(out_base)/libcult/.clean              \
       $(out_base)/libfrontend-elements/.clean \
       $(out_base)/libbackend-elements/.clean  \
       $(out_base)/libxsd-frontend/.clean      \
       $(out_base)/xsd/.clean

# Reset pattern-specific variables because GNU make will use the
# first match instead of the most specific match. Here out_root
# and out_base are the same.
#
$(out_root)/%: out_root :=
$(out_root)/%: out_base :=
$(out_root)/%: src_root :=
$(out_root)/%: src_base :=
$(out_root)/%: scf_root :=
$(out_root)/%: dcf_root :=
$(out_root)/%: project_name :=

src_root := $(src_base)/libcult
scf_root := $(src_root)/build
out_root := $(src_root)
$(call import,$(src_base)/libcult/makefile)

src_root := $(src_base)/libfrontend-elements
scf_root := $(src_root)/build
out_root := $(src_root)
$(call import,$(src_base)/libfrontend-elements/makefile)

src_root := $(src_base)/libbackend-elements
scf_root := $(src_root)/build
out_root := $(src_root)
$(call import,$(src_base)/libbackend-elements/makefile)

src_root := $(src_base)/libxsd-frontend
scf_root := $(src_root)/build
out_root := $(src_root)
$(call import,$(src_base)/libxsd-frontend/makefile)

src_root := $(src_base)/xsd
scf_root := $(src_root)/build
out_root := $(src_root)

ifneq ($(filter $(MAKECMDGOALS),clean test install dist dist-win),)
$(call import,$(src_base)/xsd/makefile)
else
$(call import,$(src_base)/xsd/xsd/makefile)
endif