aboutsummaryrefslogtreecommitdiff
path: root/makefile
blob: f9d9dc735a25f6be86c99cc6e24f2b5337c07b11 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# file      : makefile
# author    : Boris Kolpackov <boris@codesynthesis.com>
# copyright : Copyright (c) 2009-2010 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