diff options
Diffstat (limited to 'trunk/Makefile.moddir_rules')
-rw-r--r-- | trunk/Makefile.moddir_rules | 166 |
1 files changed, 0 insertions, 166 deletions
diff --git a/trunk/Makefile.moddir_rules b/trunk/Makefile.moddir_rules deleted file mode 100644 index 9258e8d63..000000000 --- a/trunk/Makefile.moddir_rules +++ /dev/null @@ -1,166 +0,0 @@ -# -# Asterisk -- A telephony toolkit for Linux. -# -# Makefile rules for subdirectories containing modules -# -# Copyright (C) 2006, Digium, Inc. -# -# Kevin P. Fleming <kpfleming@digium.com> -# -# This program is free software, distributed under the terms of -# the GNU General Public License -# - -# Makefile rules for building modules. - -# In most cases, we set target-specific variables for certain targets -# (remember that they apply recursively to prerequisites). -# Also note that we can only set one variable per rule, so we have to -# repeat the left hand side to set multiple variables. - -ifneq ($(findstring MALLOC_DEBUG,$(MENUSELECT_CFLAGS)),) - ifeq ($(findstring astmm.h,$(ASTCFLAGS)),) - ASTCFLAGS+=-include $(ASTTOPDIR)/include/asterisk/astmm.h - endif -endif - -ifeq ($(findstring LOADABLE_MODULES,$(MENUSELECT_CFLAGS)),) - ASTCFLAGS+=${GC_CFLAGS} -endif - -ifneq ($(findstring STATIC_BUILD,$(MENUSELECT_CFLAGS)),) - STATIC_BUILD=-static -endif - -include $(ASTTOPDIR)/Makefile.rules - -# If MODULE_PREFIX is defined, use it to run the standard functions to set -# C_MODS, CC_MODS, LOADABLE_MODS and EMBEDDED_MODS. -# Each word of MODULE_PREFIX is a prefix for filenames that we consider -# valid C or CC modules (eg. app, func ...). Note that the underscore -# is added here, and does not need to be in MODULE_PREFIX -# -# Use MODULE_EXCLUDE to specify additional modules to exclude. - -ifneq ($(MODULE_PREFIX),) - ALL_C_MODS:= - ALL_C_MODS+=$(foreach p,$(MODULE_PREFIX),$(patsubst %.c,%,$(wildcard $(p)_*.c))) - ALL_CC_MODS:= - ALL_CC_MODS+=$(foreach p,$(MODULE_PREFIX),$(patsubst %.cc,%,$(wildcard $(p)_*.cc))) - - C_MODS:=$(filter-out $(MENUSELECT_$(MENUSELECT_CATEGORY)),$(ALL_C_MODS)) - CC_MODS:=$(filter-out $(MENUSELECT_$(MENUSELECT_CATEGORY)),$(ALL_CC_MODS)) - - # and store in the list of embedded or loadable modules - ifneq ($(findstring $(MENUSELECT_CATEGORY),$(MENUSELECT_EMBED)),) - EMBEDDED_MODS:=$(C_MODS) $(CC_MODS) - else - LOADABLE_MODS:=$(C_MODS) $(CC_MODS) - endif -endif - -# Both C++ and C++ sources need their module name in AST_MODULE -# We also pass whatever _INCLUDE list is generated by menuselect -# (they are stored in file 'makeopts') - -$(addsuffix .oo,$(CC_MODS)) $(addsuffix .o,$(C_MODS)): \ - ASTCFLAGS+= -DAST_MODULE=\"$*\" $(MENUSELECT_OPTS_$*:%=-D%) $(foreach dep,$(MENUSELECT_DEPENDS_$*),$(value $(dep)_INCLUDE)) - -ifeq ($(findstring $(OSARCH), mingw32 cygwin ),) - # don't define -fPIC on mingw32 and cygwin, it is the default - $(LOADABLE_MODS:%=%.so): ASTCFLAGS+=-fPIC -endif - -# For loadable modules, pass _LIB and _LDFLAGS from menuselect. -$(LOADABLE_MODS:%=%.so): LIBS+=$(foreach dep,$(MENUSELECT_DEPENDS_$*),$(value $(dep)_LIB)) -$(LOADABLE_MODS:%=%.so): ASTLDFLAGS+=$(foreach dep,$(MENUSELECT_DEPENDS_$*),$(value $(dep)_LDFLAGS)) - -$(EMBEDDED_MODS:%=%.o): ASTCFLAGS+=-DEMBEDDED_MODULE=$* - -$(addsuffix .so,$(filter $(LOADABLE_MODS),$(C_MODS))): %.so: %.o -$(addsuffix .so,$(filter $(LOADABLE_MODS),$(CC_MODS))): %.so: %.oo - -modules.link: $(addsuffix .eo,$(filter $(EMBEDDED_MODS),$(C_MODS))) - -.PHONY: clean uninstall _all moduleinfo makeopts - -ifneq ($(LOADABLE_MODS),) -_all: $(LOADABLE_MODS:%=%.so) -ifneq ($(findstring $(OSARCH), mingw32 cygwin ),) - # linker options and extra libraries for cygwin - SOLINK=-Wl,--out-implib=lib$@.a -shared - LIBS+=-L$(ASTTOPDIR)/main -lasterisk -L$(ASTTOPDIR)/res $($@_LIBS) - # additional libraries in res/ -endif -endif - -ifneq ($(EMBEDDED_MODS),) -_all: modules.link -__embed_ldscript: - @echo "../$(SUBDIR)/modules.link" -__embed_ldflags: - @echo "$(foreach mod,$(filter $(EMBEDDED_MODS),$(C_MODS)),$(foreach dep,$(MENUSELECT_DEPENDS_$(mod)),$(dep)_LDFLAGS))" - @echo "$(foreach mod,$(filter $(EMBEDDED_MODS),$(CC_MODS)),$(foreach dep,$(MENUSELECT_DEPENDS_$(mod)),$(dep)_LDFLAGS))" -__embed_libs: - @echo "$(foreach mod,$(filter $(EMBEDDED_MODS),$(C_MODS)),$(foreach dep,$(MENUSELECT_DEPENDS_$(mod)),$(dep)_LIB))" - @echo "$(foreach mod,$(filter $(EMBEDDED_MODS),$(CC_MODS)),$(foreach dep,$(MENUSELECT_DEPENDS_$(mod)),$(dep)_LIB))" -else -__embed_ldscript: -__embed_ldflags: -__embed_libs: -endif - -modules.link: - @rm -f $@ - @for file in $(patsubst %,$(SUBDIR)/%,$(filter %.eo,$^)); do echo "INPUT (../$${file})" >> $@; done - @for file in $(patsubst %,$(SUBDIR)/%,$(filter-out %.eo,$^)); do echo "INPUT (../$${file})" >> $@; done - -clean:: - rm -f *.so *.o *.oo *.eo - rm -f .*.o.d .*.oo.d - rm -f *.s *.i - rm -f modules.link - -install:: all - @echo "Installing modules from `basename $(CURDIR)`..." - @for x in $(LOADABLE_MODS:%=%.so); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done - -uninstall:: - -dist-clean:: - rm -f .*.moduleinfo .moduleinfo - rm -f .*.makeopts .makeopts - -.%.moduleinfo: %.c - @echo "<member name=\"$*\" displayname=\"$(shell $(GREP) -e AST_MODULE_INFO $< | head -n 1 | cut -d '"' -f 2)\" remove_on_change=\"$(SUBDIR)/$*.o $(SUBDIR)/$*.so\">" > $@ - $(AWK) -f $(ASTTOPDIR)/build_tools/get_moduleinfo $< >> $@ - echo "</member>" >> $@ - -.%.moduleinfo: %.cc - @echo "<member name=\"$*\" displayname=\"$(shell $(GREP) -e AST_MODULE_INFO $< | head -n 1 | cut -d '"' -f 2)\" remove_on_change=\"$(SUBDIR)/$*.oo $(SUBDIR)/$*.so\">" > $@ - $(AWK) -f $(ASTTOPDIR)/build_tools/get_moduleinfo $< >> $@ - echo "</member>" >> $@ - -.moduleinfo:: $(addsuffix .moduleinfo,$(addprefix .,$(ALL_C_MODS) $(ALL_CC_MODS))) - @echo "<category name=\"MENUSELECT_$(MENUSELECT_CATEGORY)\" displayname=\"$(MENUSELECT_DESCRIPTION)\" remove_on_change=\"$(SUBDIR)/modules.link\">" > $@ - @cat $^ >> $@ - @echo "</category>" >> $@ - -moduleinfo: .moduleinfo - @cat $< - -.%.makeopts: %.c - @$(AWK) -f $(ASTTOPDIR)/build_tools/get_makeopts $< > $@ - -.%.makeopts: %.cc - @$(AWK) -f $(ASTTOPDIR)/build_tools/get_makeopts $< > $@ - -.makeopts:: $(addsuffix .makeopts,$(addprefix .,$(ALL_C_MODS) $(ALL_CC_MODS))) - @cat $^ > $@ - -makeopts: .makeopts - @cat $< - -ifneq ($(wildcard .*.d),) - include .*.d -endif |