1# file      : tests/cxx/parser/validation/built-in/qname/makefile
2# copyright : Copyright (c) 2006-2017 Code Synthesis Tools CC
3# license   : GNU GPL v2 + exceptions; see accompanying LICENSE file
4
5include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make
6
7cxx := driver.cxx
8
9obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o))
10dep := $(obj:.o=.o.d)
11
12driver := $(out_base)/driver
13test   := $(out_base)/.test
14clean  := $(out_base)/.clean
15
16
17# Import.
18#
19$(call import,\
20  $(scf_root)/import/libxerces-c/stub.make,\
21  l: xerces_c.l,cpp-options: xerces_c.l.cpp-options)
22
23# Build.
24#
25$(driver): $(obj) $(xerces_c.l)
26
27$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd
28$(obj) $(dep): $(xerces_c.l.cpp-options)
29
30# Define XSD_CXX11 since we include libxsd headers directly.
31#
32$(call include,$(bld_root)/cxx/standard.make) # cxx_standard
33ifeq ($(cxx_standard),c++11)
34$(obj) $(dep): cpp_options += -DXSD_CXX11
35endif
36
37$(call include-dep,$(dep),$(obj),$(gen))
38
39# Convenience alias for default target.
40#
41$(out_base)/: $(driver)
42
43
44# Test.
45#
46$(test): driver := $(driver)
47$(test): $(driver)
48	$(call message,test $$1,$$1,$(driver))
49
50# Clean.
51#
52$(clean): $(driver).o.clean                                \
53  $(addsuffix .cxx.clean,$(obj))                           \
54  $(addsuffix .cxx.clean,$(dep))
55
56# Generated .gitignore.
57#
58ifeq ($(out_base),$(src_base))
59$(driver): | $(out_base)/.gitignore
60
61$(out_base)/.gitignore: files := driver
62$(clean): $(out_base)/.gitignore.clean
63
64$(call include,$(bld_root)/git/gitignore.make)
65endif
66
67# How to.
68#
69$(call include,$(bld_root)/cxx/o-e.make)
70$(call include,$(bld_root)/cxx/cxx-o.make)
71$(call include,$(bld_root)/cxx/cxx-d.make)
72