Merge commit 'origin/ser_core_cvs'
authorAndrei Pelinescu-Onciul <andrei@iptel.org>
Thu, 23 Apr 2009 12:33:37 +0000 (14:33 +0200)
committerAndrei Pelinescu-Onciul <andrei@iptel.org>
Thu, 23 Apr 2009 12:33:37 +0000 (14:33 +0200)
* commit 'origin/ser_core_cvs':
  tcp: added missing blacklist on write pollerr
  makefiles: minor fix (use COREPATH in Makefile.targets)
  makefile: config and modules.lst minor fixes
  makefile.doc: support all targets and dep. fixes
  doc (INSTALL): minor make update
  makefiles: fixes and speed-ups
  makefiles: typo fixed

Conflicts:
Makefile.doc
Makefile.rules
Makefile.targets

1  2 
Makefile
Makefile.doc
Makefile.rules
Makefile.targets

diff --cc Makefile
+++ b/Makefile
@@@ -403,14 -374,12 +416,15 @@@ modules.lst
        @$(call cfg_save_var2,static_modules,$@)
        @$(call cfg_save_var2,skip_modules,$@)
        @$(call cfg_save_var2,exclude_modules,$@)
 -      @$(call cfg_save_var2,modules_all,$@)
 -      @$(call cfg_save_var2,modules_noinc,$@)
 -      @$(call cfg_save_var2,modules,$@)
 +      @$(foreach mods,$(modules_dirs), \
 +              $(call cfg_save_var2,$(mods)_all,$@))
 +      @$(foreach mods,$(modules_dirs), \
 +              $(call cfg_save_var2,$(mods)_noinc,$@))
 +      @$(foreach mods,$(modules_dirs), \
 +              $(call cfg_save_var2,$(mods),$@))
        @echo "modules_configured:=1" >>$@
  
  .PHONY: cfg config cfg-defs
  cfg-defs: config.mak
  
@@@ -847,27 -761,56 +861,44 @@@ install-ser-man: $(man_prefix)/$(man_di
                        < ser.cfg.5 >  $(man_prefix)/$(man_dir)/man5/ser.cfg.5
                chmod 644  $(man_prefix)/$(man_dir)/man5/ser.cfg.5
  
 -install-man:  install-ser-man install-modules-man
 +install-man:  install-ser-man install-every-module-man
  
 -install-modules-man: modules-man $(man_prefix)/$(man_dir)/man7
 -      @for r in $(modules_basenames) "" ; do \
 -              if [ -n "$$r" ]; then \
 -                      if [ -f modules/"$$r"/"$$r".7 ]; then \
 -                              $(call try_err,\
 -                                      $(INSTALL_TOUCH) $(man_prefix)/$(man_dir)/man7/"$$r".7 );\
 -                              $(call try_err,\
 -                                      $(INSTALL_MAN)  modules/"$$r"/"$$r".7  \
 -                                                                      $(man_prefix)/$(man_dir)/man7 ); \
 -                      fi ; \
 -              fi ; \
 -      done; true
  
  
- .PHONY: clean_libs
+ # libs cleaning targets
+ .PHONY: clean-libs
+ clean-libs:
+                       $(MAKE) -C lib clean
  
- clean_libs:
-                       $(MAKE) -C lib proper
+ .PHONY: proper-libs realclean-libs distclean-libs maintainer-clean-libs
+ proper-libs realclean-libs distclean-libs maintainer-clean-libs:
+                       $(MAKE) -C lib $(patsubst %-libs,%,$@)
  
  
+ # clean modules on make clean
+ clean: clean-modules
+ # clean utils on make clean
+ clean: clean-utils
  # cleaning in libs always when cleaning ser
- clean:        clean_libs
+ clean: clean-libs
+ # proper/distclean a.s.o modules, utils and libs too
+ proper: proper-modules proper-utils proper-libs
+ distclean: distclean-modules distclean-utils distclean-libs
+ realclean: realclean-modules realclean-utils realclean-libs
+ maintainer-clean: maintainer-clean-modules maintainer-clean-utils \
+  maintainer-clean-libs
  
  #try to clean everything (including all the modules, even ones that are not
  # configured/compiled normally
  .PHONY: clean-all
 -clean-all: modules=$(modules_all)
 +clean-all: cmodules=$(all_modules_lst)
  clean-all: clean
+ maintainer-clean: modules=$(modules_all)
  
  # on make proper clean also the build config (w/o module list)
- proper realclean distclean: clean_cfg 
+ proper realclean distclean maintainer-clean: clean_cfg
  
  # on maintainer clean, remove also the configured module list
  maintainer-clean: clean_modules_cfg
diff --cc Makefile.doc
 -#\r
 -# $Id$\r
 -#\r
 -\r
 -#\r
 -# The name of the index file (the one which will be built by default\r
 -# without specifying a target\r
 -#\r
 -DOCUMENTS ?= index\r
 -\r
 -#\r
 -# The root of the document tree, this is used to determine the directory\r
 -# of auxiliary files. The variable should be overwritten by per-directory\r
 -# Makefiles\r
 -#\r
 -ROOT_DIR ?= ../../..\r
 -\r
 -#\r
 -# Output directory where files produced by XSL stylesheets should be stored,\r
 -# by default we output to the same directory, documents that are chunked may\r
 -# choose to override this to write all chunks in a subdirectory instead\r
 -#\r
 -OUTPUT_DIR ?= .\r
 -\r
 -#\r
 -# Stylesheet used to generate dependencies from XML files\r
 -#\r
 -DEP_XSL ?= $(ROOT_DIR)/doc/stylesheets/dep.xsl\r
 -\r
 -#\r
 -# Default stylesheet used to generate XHTML\r
 -#\r
 -XHTML_XSL ?= $(ROOT_DIR)/doc/stylesheets/xhtml.xsl\r
 -\r
 -#\r
 -# Default stylesheet used to generate Drupal HTML without html headers\r
 -#\r
 -DRUPAL_XSL ?= $(ROOT_DIR)/doc/stylesheets/drupal.xsl\r
 -\r
 -#\r
 -# Default stylesheet used to generate HTML\r
 -#\r
 -HTML_XSL ?= $(ROOT_DIR)/doc/stylesheets/html.chunked.xsl\r
 -\r
 -#\r
 -# Stylesheet used to generate plain text documents,\r
 -# this is usually the one used for xhtml\r
 -#\r
 -TXT_XSL ?= $(ROOT_DIR)/doc/stylesheets/txt.xsl\r
 -\r
 -#\r
 -# Stylesheet used to generate FO (Formatted Objects)\r
 -# This is used by PDF generators\r
 -#\r
 -FO_XSL ?= $(ROOT_DIR)/doc/stylesheets/fo.xsl\r
 -\r
 -#\r
 -# Disable document validation by default\r
 -# \r
 -VALIDATE ?= 0\r
 -\r
 -CATALOG=$(ROOT_DIR)/doc/catalog.xml\r
 -\r
 -LYNX     ?= lynx\r
 -DIA      ?= dia\r
 -XSLTPROC ?= xsltproc\r
 -XMLLINT ?= /usr/bin/xmllint\r
 -XEP     ?= /usr/bin/xep\r
 -\r
 -LYNX_FLAGS     ?= -nolist\r
 -DIA_ARGS       ?=\r
 -XSLTPROC_FLAGS ?=\r
 -XMLLINT_FLAGS ?= --xinclude --postvalid --noout\r
 -XEP_FLAGS ?= \r
 -\r
 -ifeq ($(VALIDATE), 0)\r
 -      override XSLTPROC_FLAGS := $(XSLTPROC_FLAGS) --novalid\r
 -endif\r
 -\r
 -alldep = Makefile $(ROOT_DIR)/Makefile.doc $(DEP_XSL) $(EXTRA_DEPS)\r
 -\r
 -all: xhtml\r
 -\r
 -xml_files = $(addsuffix .xml, $(DOCUMENTS))\r
 -dep_files = $(addsuffix .d, $(DOCUMENTS))\r
 -xhtml_files = $(addsuffix .xhtml, $(DOCUMENTS))\r
 -html_files = $(addsuffix .html, $(DOCUMENTS))\r
 -txt_files = $(addsuffix .txt, $(DOCUMENTS))\r
 -pdf_files = $(addsuffix .pdf, $(DOCUMENTS))\r
 -\r
 -xhtml: $(xhtml_files)\r
 -html: $(html_files)\r
 -txt: $(txt_files)\r
 -pdf: $(pdf_files)\r
 -drupal: override HTML_XSL := $(DRUPAL_XSL)\r
 -drupal: $(html_files)\r
 -\r
 -\r
 -%.xhtml: %.xml %.d $(alldep) $(XHTML_XSL)\r
 -      XML_CATALOG_FILES=$(CATALOG) $(XSLTPROC) $(XSLTPROC_FLAGS) \\r
 -        --xinclude \\r
 -        --stringparam base.dir "$(OUTPUT_DIR)/" \\r
 -        --stringparam root.filename "$(basename $<)" \\r
 -        --stringparam html.ext ".xhtml" \\r
 -        $(XHTML_XSL) $<\r
 -\r
 -%.html: %.xml %.d $(alldep) $(HTML_XSL)\r
 -      XML_CATALOG_FILES=$(CATALOG) $(XSLTPROC) $(XSLTPROC_FLAGS) \\r
 -        --xinclude \\r
 -        --stringparam base.dir "$(OUTPUT_DIR)/" \\r
 -        --stringparam root.filename "$(basename $<)" \\r
 -        --stringparam html.ext ".html" \\r
 -      --stringparam html.stylesheet ser.css \\r
 -        $(HTML_XSL) $<\r
 -\r
 -%.fo: %.xml $(alldep) $(FO_XSL)\r
 -      XML_CATALOG_FILES=$(CATALOG) $(XSLTPROC) $(XSLTPROC_FLAGS) \\r
 -        --xinclude \\r
 -        -o $@ $(FO_XSL) $<\r
 -\r
 -%.pdf: %.fo %.d $(alldep)\r
 -      $(XEP) $(XEP_FLAGS) -fo $< -pdf $@\r
 -\r
 -%.txt: %.xml %.d $(alldep)\r
 -      XML_CATALOG_FILES=$(CATALOG) $(XSLTPROC) $(XSLTPROC_FLAGS) \\r
 -        --xinclude \\r
 -        $(TXT_XSL) $< | $(LYNX) $(LYNX_FLAGS) -stdin -dump > $@\r
 -\r
 -%.png: %.dia $(alldep)\r
 -      $(DIA) $(DIA_ARGS) -t png -e $@ $<\r
 -\r
 -%.d: %.xml $(alldep) \r
 -      $(XSLTPROC) $(XSLTPROC_FLAGS) \\r
 -        --nonet \\r
 -        --novalid \\r
 -        --stringparam output "$@" \\r
 -        $(DEP_XSL) $< \r
 -\r
 -.PHONY: check\r
 -check: $(xml_files)\r
 -      XML_CATALOG_FILES=$(CATALOG) $(XMLLINT) $(XMLLINT_FLAGS) $<\r
 -\r
 -.PHONY: clean\r
 -clean:\r
 -      @rm -f $(txt_files)\r
 -      @rm -f $(xhtml_files)\r
 -      @rm -f $(pdf_files)\r
 -      @rm -f $(html_files)\r
 -\r
 -.PHONY: proper distclean realclean maintainer-clean\r
 -proper realclean distclean maintainer-clean: clean\r
 -      @rm -f $(dep_files) *~\r
 -\r
 -maintainer-clean: clean-tmp\r
 -\r
 -.PHONY: clean-tmp\r
 -clean-tmp:\r
 -      -rm -f TAGS tags *.dbg .*.swp\r
 -\r
 -\r
 -\r
 -ifeq (,$(MAKECMDGOALS))\r
 -include $(dep_files) \r
 -else\r
 -ifeq (,$(strip $(nodep_targets)))\r
 -include $(ROOT_DIR)/Makefile.targets\r
 -endif\r
 -ifneq (,$(filter-out $(nodep_targets) check, $(MAKECMDGOALS)))\r
 -include $(dep_files)\r
 -endif\r
 -endif\r
 +#
 +# $Id$
 +#
 +
 +#
 +# The name of the index file (the one which will be built by default
 +# without specifying a target
 +#
 +DOCUMENTS ?= index
 +
 +#
 +# The root of the document tree, this is used to determine the directory
 +# of auxiliary files. The variable should be overwritten by per-directory
 +# Makefiles
 +#
 +ROOT_DIR ?= ../../..
 +
 +#
 +# Output directory where files produced by XSL stylesheets should be stored,
 +# by default we output to the same directory, documents that are chunked may
 +# choose to override this to write all chunks in a subdirectory instead
 +#
 +OUTPUT_DIR ?= .
 +
 +#
 +# Stylesheet used to generate dependencies from XML files
 +#
 +DEP_XSL ?= $(ROOT_DIR)/doc/stylesheets/dep.xsl
 +
 +#
 +# Default stylesheet used to generate XHTML
 +#
 +XHTML_XSL ?= $(ROOT_DIR)/doc/stylesheets/xhtml.xsl
 +
 +#
 +# Default stylesheet used to generate Drupal HTML without html headers
 +#
 +DRUPAL_XSL ?= $(ROOT_DIR)/doc/stylesheets/drupal.xsl
 +
 +#
 +# Default stylesheet used to generate HTML
 +#
 +HTML_XSL ?= $(ROOT_DIR)/doc/stylesheets/html.chunked.xsl
 +
 +#
 +# Stylesheet used to generate plain text documents,
 +# this is usually the one used for xhtml
 +#
 +TXT_XSL ?= $(ROOT_DIR)/doc/stylesheets/txt.xsl
 +
 +#
 +# Stylesheet used to generate FO (Formatted Objects)
 +# This is used by PDF generators
 +#
 +FO_XSL ?= $(ROOT_DIR)/doc/stylesheets/fo.xsl
 +
 +#
 +# Disable document validation by default
 +# 
 +VALIDATE ?= 0
 +
 +#
 +# K docbook style
 +#
 +ifeq ($(DOCBOOK_MODE), k)
 +      HTML_CSS=/css/kam-module-docbook.css
 +      XSLTPROC_FLAGS+= --stringparam section.autolabel 1 \
 +                              --stringparam section.label.includes.component.label 1 \
 +                              --stringparam generate.toc "book toc,title,figure,table,example"
 +endif
 +
 +#
 +# Default CSS used in generated HTMLs
 +#
 +HTML_CSS ?= ser.css
 +
 +CATALOG=$(ROOT_DIR)/doc/catalog.xml
 +
 +LYNX     ?= lynx
 +DIA      ?= dia
 +XSLTPROC ?= xsltproc
 +XMLLINT ?= /usr/bin/xmllint
 +XEP     ?= /usr/bin/xep
 +
 +LYNX_FLAGS     ?= -nolist
 +DIA_ARGS       ?=
 +XSLTPROC_FLAGS ?=
 +XMLLINT_FLAGS ?= --xinclude --postvalid --noout
 +XEP_FLAGS ?= 
 +
 +ifeq ($(VALIDATE), 0)
 +      override XSLTPROC_FLAGS := $(XSLTPROC_FLAGS) --novalid
 +endif
 +
 +alldep = Makefile $(ROOT_DIR)/Makefile.doc $(DEP_XSL) $(EXTRA_DEPS)
 +
 +all: xhtml
 +
 +xml_files = $(addsuffix .xml, $(DOCUMENTS))
 +dep_files = $(addsuffix .d, $(DOCUMENTS))
 +xhtml_files = $(addsuffix .xhtml, $(DOCUMENTS))
 +html_files = $(addsuffix .html, $(DOCUMENTS))
 +txt_files = $(addsuffix .txt, $(DOCUMENTS))
 +pdf_files = $(addsuffix .pdf, $(DOCUMENTS))
 +
 +xhtml: $(xhtml_files)
 +html: $(html_files)
 +txt: $(txt_files)
 +pdf: $(pdf_files)
 +drupal: override HTML_XSL := $(DRUPAL_XSL)
 +drupal: $(html_files)
 +
 +
 +%.xhtml: %.xml %.d $(alldep) $(XHTML_XSL)
 +      XML_CATALOG_FILES=$(CATALOG) $(XSLTPROC) $(XSLTPROC_FLAGS) \
 +        --xinclude \
 +        --stringparam base.dir "$(OUTPUT_DIR)/" \
 +        --stringparam root.filename "$(basename $<)" \
 +        --stringparam html.ext ".xhtml" \
 +        --stringparam html.stylesheet $(HTML_CSS) \
 +        $(XHTML_XSL) $<
 +
 +%.html: %.xml %.d $(alldep) $(HTML_XSL)
 +      XML_CATALOG_FILES=$(CATALOG) $(XSLTPROC) $(XSLTPROC_FLAGS) \
 +        --xinclude \
 +        --stringparam base.dir "$(OUTPUT_DIR)/" \
 +        --stringparam root.filename "$(basename $<)" \
 +        --stringparam html.ext ".html" \
 +        --stringparam html.stylesheet $(HTML_CSS) \
 +        $(HTML_XSL) $<
 +
 +%.fo: %.xml $(alldep) $(FO_XSL)
 +      XML_CATALOG_FILES=$(CATALOG) $(XSLTPROC) $(XSLTPROC_FLAGS) \
 +        --xinclude \
 +        -o $@ $(FO_XSL) $<
 +
 +%.pdf: %.fo %.d $(alldep)
 +      $(XEP) $(XEP_FLAGS) -fo $< -pdf $@
 +
 +%.txt: %.xml %.d $(alldep)
 +      XML_CATALOG_FILES=$(CATALOG) $(XSLTPROC) $(XSLTPROC_FLAGS) \
 +        --xinclude \
 +        $(TXT_XSL) $< | $(LYNX) $(LYNX_FLAGS) -stdin -dump > $@
 +
 +%.png: %.dia $(alldep)
 +      $(DIA) $(DIA_ARGS) -t png -e $@ $<
 +
 +%.d: %.xml $(alldep) 
 +      $(XSLTPROC) $(XSLTPROC_FLAGS) \
 +        --nonet \
 +        --novalid \
 +        --stringparam output "$@" \
 +        $(DEP_XSL) $< 
 +
 +.PHONY: check
 +check: $(xml_files)
 +      XML_CATALOG_FILES=$(CATALOG) $(XMLLINT) $(XMLLINT_FLAGS) $<
 +
 +.PHONY: clean
 +clean:
 +      @rm -f $(txt_files)
 +      @rm -f $(xhtml_files)
 +      @rm -f $(pdf_files)
 +      @rm -f $(html_files)
 +
- .PHONY: proper realclean distclean
- proper realclean distclean: clean
++.PHONY: proper distclean realclean maintainer-clean
++proper realclean distclean maintainer-clean: clean
 +      @rm -f $(dep_files) *~
 +
++maintainer-clean: clean-tmp
++
++.PHONY: clean-tmp
++clean-tmp:
++      -rm -f TAGS tags *.dbg .*.swp
++
++
 +
 +ifeq (,$(MAKECMDGOALS))
 +include $(dep_files) 
++else
++ifeq (,$(strip $(nodep_targets)))
++include $(ROOT_DIR)/Makefile.targets
 +endif
- ifneq (,$(filter-out clean proper realclean distclean check, $(MAKECMDGOALS)))
++ifneq (,$(filter-out $(nodep_targets) check, $(MAKECMDGOALS)))
 +include $(dep_files)
 +endif
++endif
diff --cc Makefile.rules
@@@ -170,20 -158,31 +170,31 @@@ dep: $(depends
  .PHONY: static
  static: $(objs)
  
- .PHONY: clean
- clean: 
+ # clean only the current directory (no modules or utils)
+ # (it's usefull to have it separated from clean for speeding up make proper)
+ .PHONY: local-clean
+ local-clean:
        -@rm -f $(objs) $(NAME) $(objs:.o=.il) librpath.lst 2>/dev/null
 -      -@for r in $(modules) $(static_modules_path) "" ; do \
+ .PHONY: clean
+ clean: local-clean
+ .PHONY: clean-modules
+ clean-modules:
 +      -@for r in $(cmodules) $(static_modules_path) "" ; do \
                if [ -d "$$r" ]; then \
                        echo "module $$r" ; \
-                       $(MAKE) -C $$r clean ; \
-                       $(MAKE) -C $$r/doc clean ; \
+                       $(MAKE) -C "$$r" clean ; \
+                       [ -d "$$r"/doc/Makefile ] && $(MAKE) -C "$$r"/doc clean ; \
                fi ; \
-       done 
+       done
+ .PHONY: clean-utils
+ clean-utils:
 -      @if [ -n "$(modules)" ]; then \
 +      @if [ -n "$(cmodules)" ]; then \
                for r in $(utils_compile) "" ; do \
                        if [ -d "$$r" ]; then \
-                                $(MAKE) -C $$r clean ; \
+                                $(MAKE) -C "$$r" clean ; \
                        fi ; \
                done \
        fi
  .PHONY: proper
  .PHONY: distclean
  .PHONY: realclean
- proper realclean distclean: mrproper
- mrproper: clean 
+ .PHONY: maintainer-clean
+ proper distclean realclean maintainer-clean: local-clean
        -@rm -f $(depends) $(auto_gen) $(auto_gen_others) \
                        makecfg.lst 2>/dev/null
 -      -@for r in $(modules) "" ; do \
+ maintainer-clean: clean-tmp
+ .PHONY: proper-modules
+ .PHONY: distclean-modules
+ .PHONY: realclean-modules
+ .PHONY: maintainer-clean-modules
+ proper-modules realclean-modules distclean-modules maintainer-clean-modules: \
+  clean_target=$(patsubst %-modules,%,$@)
+ proper-modules realclean-modules distclean-modules maintainer-clean-modules:
 +      -@for r in $(cmodules) "" ; do \
                if [ -d "$$r" ]; then \
-                       $(MAKE) -C $$r proper ; \
-                       $(MAKE) -C $$r/doc proper ; \
+                       $(MAKE) -C "$$r" $(clean_target); \
+                       [ -r "$$r"/doc/Makefile ] && $(MAKE) -C "$$r"/doc $(clean_target);\
                fi ; \
-       done 
+       done
+ .PHONY: proper-utils
+ .PHONY: distclean-utils
+ .PHONY: realclean-utils
+ .PHONY: maintainer-clean-utils
+ proper-utils realclean-utils distclean-utils maintainer-clean-utils: \
+  clean_target=$(patsubst %-utils,%,$@)
+ proper-utils realclean-utils distclean-utils maintainer-clean-utils:
 -      @if [ -n "$(modules)" ]; then \
 +      @if [ -n "$(cmodules)" ]; then \
                for r in $(utils_compile) "" ; do \
                        if [ -d "$$r" ]; then \
-                                $(MAKE) -C $$r proper ; \
+                                $(MAKE) -C "$$r" $(clean_target); \
                        fi ; \
                done \
        fi
  #  2008-06-26  initial version (andrei) 
  #
  
- clean_targets:=       clean proper distclean realclean mantainer-clean clean_libs \
 +ifeq (,$(strip $(modules_dirs)))
 +include $(COREPATH)/Makefile.dirs
 +endif
 +
+ clean_targets:=       clean proper distclean realclean maintainer-clean local-clean \
                                clean-all proper-all distclean-all realclean-all \
-                               clean_cfg clean_modules_cfg clean-modules-cfg
+                               clean_cfg clean-cfg clean_modules_cfg clean-modules-cfg \
+                               clean-modules proper-modules realclean-modules \
+                               distclean-modules maintainer-clean-modules \
+                               clean-utils proper-utils realclean-utils distclean-utils \
+                               maintaner-clean-utils \
+                               clean-libs proper-libs realclean-libs distclean-libs \
+                               maintainer-clean-libs \
+                               clean-tmp clean_doxygen
 -doc_targets:= modules-doc modules-readme README modules-man man \
 -              install-doc install-modules-doc install-man install-ser-man \
 -              install-modules-man
 +doc_targets:= README man install-doc install-man install-ser-man \
 +              install-every-module-doc install-every-module-man \
 +              $(foreach m,$(modules_dirs),$(m)-doc $(m)-readme $(m)-man) \
 +              $(foreach m,$(modules_dirs),install-$(m)-doc install-$(m)-man)
 +
  # auxiliary: maintance, debugging, etc. (don't affect code/objects)
  aux_targets:= TAGS tar dist cfg-defs cfg config config.mak print-modules \
-               dbg dbinstall librpath.lst makecfg.lst \
-               modules-cfg modules-list modules-lst modules.lst mk-install_dirs
+               dbg dbinstall librpath.lst makecfg.lst modules.lst modules-cfg \
 -              modules-list modules-lst
++              modules-list modules-lst mk-install_dirs
  # other targets that don't produce code in the current directory ("external")
 -ext_targets:= modules libs utils \
 -              install-cfg install-modules install-utils  install-modules-all \
 -              install-share 
 +ext_targets:= every-module $(modules_dirs) libs utils \
 +              install-cfg install-utils  install-modules-all install-every-module\
 +              $(foreach m,$(modules_dirs),install-$(m)) \
 +              install-share
  
  # all the targets that don't require code dependecies in the current dir.
  nodep_targets:=       $(clean_targets) $(doc_targets) $(aux_targets) $(ext_targets)