added file
[ardour.git] / libs / sigc++2 / sigc++ / Makefile.am
1 # Base (./)
2 base_m4 = template.macros.m4 signal.h.m4 slot.h.m4 method_slot.h.m4 \
3           object_slot.h.m4 class_slot.h.m4 hide.h.m4 retype.h.m4
4 base_built_cc =
5 base_built_h = signal.h slot.h method_slot.h \
6                object_slot.h class_slot.h hide.h retype.h
7
8 signal.cc : signal.h signal_base.h functors/slot.h functors/slot_base.h functors/mem_fun.h functors/functor_trait.h
9
10 # Functors (functors/)
11 functors_m4 = functor_trait.h.m4 slot.h.m4 ptr_fun.h.m4 mem_fun.h.m4
12 functors_built_cc = 
13 functors_built_h = functor_trait.h slot.h ptr_fun.h mem_fun.h
14
15 functors/slot.cc : functors/slot.h functors/slot_base.h functors/functor_trait.h
16
17 # Adaptors (adaptors/)
18 adaptors_m4 = deduce_result_type.h.m4 adaptor_trait.h.m4 bind.h.m4 bind_return.h.m4 \
19               retype_return.h.m4 hide.h.m4 retype.h.m4 compose.h.m4 exception_catch.h.m4
20 adaptors_built_cc =
21 adaptors_built_h = deduce_result_type.h adaptor_trait.h bind.h bind_return.h \
22                    retype_return.h hide.h retype.h compose.h exception_catch.h
23
24 # Lambda (adaptors/lambda)
25 lambda_m4 = base.h.m4 select.h.m4 operator.h.m4 group.h.m4 lambda.cc.m4
26 lambda_built_cc = lambda.cc
27 lambda_built_h = base.h select.h operator.h group.h
28
29 adaptors/lambda/lambda.cc : adaptors/lambda/select.h adaptors/lambda/base.h \
30                    adaptors/adaptor_trait.h adaptors/deduce_result_type.h \
31                    functors/ptr_fun.h functors/mem_fun.h functors/functor_trait.h
32
33 # Subdirectories needed also in the build dir
34 build_subdirs = functors adaptors adaptors/lambda
35
36 # Combine all the above parts with right directories prefixed
37 sigc_m4 = $(base_m4:%=macros/%) \
38           $(functors_m4:%=functors/macros/%) \
39           $(adaptors_m4:%=adaptors/macros/%) \
40           $(lambda_m4:%=adaptors/lambda/macros/%)
41 sigc_built_cc = $(base_built_cc) \
42           $(functors_built_cc:%=functors/%) \
43           $(adaptors_built_cc:%=adaptors/%) \
44           $(lambda_built_cc:%=adaptors/lambda/%)
45 sigc_built_h = $(base_built_h) \
46           $(functors_built_h:%=functors/%) \
47           $(adaptors_built_h:%=adaptors/%) \
48           $(lambda_built_h:%=adaptors/lambda/%)
49
50 EXTRA_DIST = $(sigc_m4) $(sigc_built_h) $(sigc_built_cc)
51
52 # install the headers
53 library_includedir = $(includedir)/sigc++-2.0/sigc++
54 nobase_library_include_HEADERS = $(sigc_m4) $(sigc_built_h) \
55   sigc++.h connection.h trackable.h reference_wrapper.h type_traits.h visit_each.h \
56   object.h retype_return.h bind.h bind_return.h compatibility.h signal_base.h \
57   functors/functors.h \
58   functors/slot_base.h \
59   adaptors/adaptors.h \
60   adaptors/lambda/lambda.h
61
62 # build the library
63 #lib_LTLIBRARIES = libsigc-2.0.la
64 #libsigc_2_0_la_SOURCES = signal.cc signal_base.cc trackable.cc connection.cc \
65                          functors/slot.cc functors/slot_base.cc \
66                          adaptors/lambda/lambda.cc
67 #libsigc_2_0_la_LDFLAGS  = 
68
69 BUILT_SOURCES = $(sigc_built_h) $(sigc_built_cc)
70
71 CLEANFILES = build-subdirs-stamp
72
73 # Remove the generated sources during maintainer-clean:
74 MAINTAINERCLEANFILES = $(built_sources)
75
76 M4_DIR = $(top_srcdir)/sigc++/macros
77
78 # Rules to generate .h and .cc from .h.m4 and .cc.m4:
79 %.h: macros/%.h.m4 $(M4_DIR)/template.macros.m4
80                 $(M4) $(M4_INCLUDES) $(DEFINES) -I $(M4_DIR) -I macros $<  > $@
81
82 %.cc: macros/%.cc.m4 $(M4_DIR)/template.macros.m4
83                 $(M4) $(M4_INCLUDES) $(DEFINES) -I $(M4_DIR) -I macros $<  > $@
84
85 # This would be a necessary target for VPATH builds from a clean CVS checkout,
86 # but I'm not sure where to invoke it... [rotty]
87 build-subdirs-stamp:
88         for dir in $(build_subdirs); do \
89           test -d $$dir || mkdir $$dir; \
90         done
91         touch build-subdirs-stamp
92
93 # Remove current directory from DEFAULT_INCLUDES because signal.h has
94 # the same name as a standard header:
95 DEFAULT_INCLUDES =
96 AM_CPPFLAGS = -I$(top_srcdir) -I$(top_builddir)
97