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