diff options
Diffstat (limited to 'ACE/contrib/utility/BuildRules/Shared.generic.post.rules')
-rw-r--r-- | ACE/contrib/utility/BuildRules/Shared.generic.post.rules | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/ACE/contrib/utility/BuildRules/Shared.generic.post.rules b/ACE/contrib/utility/BuildRules/Shared.generic.post.rules new file mode 100644 index 00000000000..19315b5d7ec --- /dev/null +++ b/ACE/contrib/utility/BuildRules/Shared.generic.post.rules @@ -0,0 +1,51 @@ +# file : BuildRules/Shared.generic.post.rules +# author : Boris Kolpackov <boris@kolpackov.net> +# copyright : Copyright (c) 2002-2003 Boris Kolpackov +# license : http://kolpackov.net/license.html + + +# +# Note: normally you wouldn't want to change anything below. +# + +FULL_MODULE_PREFIX := $(MODULE_PREFIX)$(module_prefix) +FULL_MODULE_SUFFIX := $(module_suffix)$(MODULE_SUFFIX) +MODULE := $(FULL_MODULE_PREFIX)$(module_base)$(FULL_MODULE_SUFFIX) + +# +# Pattern rules catalog. +# { + +# Defines pattern rule to build .d from .cpp +%.d: %.cpp + set -e; $(CXX_DEP) $(CXX_PREPROCESS_FLAGS) $< \ + | sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \ + [ -s $@ ] || rm -f $@ + + + +# Defined pattern rule to build .o from .cpp +%.o : %.cpp + $(CXX) $(CXX_PREPROCESS_FLAGS) $(CXX_COMPILE_FLAGS) -c $< -o $@ + +# } + +# Defines the rule to build module from tarnslated c++ translation units. +$(MODULE) : $(cxx_translation_units:.cpp=.o) + $(CXX) $(CXX_LINK_FLAGS) -o $@ $^ $(CXX_LINK_LIBS) + +# Defines a phony target to clean all what's been generated +.PHONY : clean +clean : + -rm -f $(cxx_translation_units:.cpp=.o) + -rm -f $(cxx_translation_units:.cpp=.d) + -rm -f $(MODULE) + + +# Include dependencies for c++ translation units. +# Optimization: if we are cleaning there is no reason to calculate +# dependencies because they will be removed a second later. +ifneq ($(MAKECMDGOALS),clean) + include $(cxx_translation_units:.cpp=.d) +endif +# $Id$ |