aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile.moddir_rules
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2006-07-06 23:18:45 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2006-07-06 23:18:45 +0000
commite319f5334edcad77277c820deb01040b833a9e0e (patch)
tree8208ffca98830ce25a382b455585de1e32c87636 /Makefile.moddir_rules
parent038813616f01f97561cfb07ac0138eccd73e486f (diff)
make the build output less noisy (optional, can be controlled by the NOISY_BUILD variable in the top-level Makefile)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@37273 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'Makefile.moddir_rules')
-rw-r--r--Makefile.moddir_rules31
1 files changed, 22 insertions, 9 deletions
diff --git a/Makefile.moddir_rules b/Makefile.moddir_rules
index a82fc99be..e8a239fbe 100644
--- a/Makefile.moddir_rules
+++ b/Makefile.moddir_rules
@@ -11,22 +11,35 @@
# the GNU General Public License
#
-define module_o_template
+include $(ASTTOPDIR)/Makefile.rules
+
+define module_o_c_template
$(1).o: $(1).c
- $$(CC) -c -o $$@ $$< $$(CFLAGS) $$(MENUSELECT_OPTS_$(1):%=-D%) $(foreach dep,$(MENUSELECT_DEPENDS_$(1)),$$(value $(dep)_INCLUDE))
+$(1).o: CFLAGS+=$$(MENUSELECT_OPTS_$(1):%=-D%) $(foreach dep,$(MENUSELECT_DEPENDS_$(1)),$$(value $(dep)_INCLUDE))
+endef
+
+define module_oo_cc_template
+$(1).oo: $(1).cc
+$(1).oo: CFLAGS+=$$(MENUSELECT_OPTS_$(1):%=-D%) $(foreach dep,$(MENUSELECT_DEPENDS_$(1)),$$(value $(dep)_INCLUDE))
endef
-define module_so_template
+define module_so_o_template
$(1).so: $(1).o
- $$(CC) $$(SOLINK) -o $$@ $$^ $(foreach dep,$(MENUSELECT_DEPENDS_$(1)),$$(value $(dep)_LIB))
+$(1).so: LDFLAGS+=$(foreach dep,$(MENUSELECT_DEPENDS_$(1)),$$(value $(dep)_LIB))
endef
-%.o: %.c
- $(CC) -c -o $@ $< $(CFLAGS)
+define module_so_oo_template
+$(1).so: $(1).oo
+$(1).so: LDFLAGS+=$(foreach dep,$(MENUSELECT_DEPENDS_$(1)),$$(value $(dep)_LIB))
+endef
+
+$(foreach mod,$(filter-out $(CC_MODS),$(SELECTED_MODS)),$(eval $(call module_o_c_template,$(mod))))
+
+$(foreach mod,$(filter-out $(CC_MODS),$(SELECTED_MODS)),$(eval $(call module_so_o_template,$(mod))))
-$(foreach mod,$(SELECTED_MODS),$(eval $(call module_o_template,$(mod))))
+$(foreach mod,$(filter $(CC_MODS),$(SELECTED_MODS)),$(eval $(call module_oo_cc_template,$(mod))))
-$(foreach mod,$(SELECTED_MODS),$(eval $(call module_so_template,$(mod))))
+$(foreach mod,$(filter $(CC_MODS),$(SELECTED_MODS)),$(eval $(call module_so_oo_template,$(mod))))
.PHONY: clean clean-depend depend uninstall _all
@@ -36,7 +49,7 @@ clean-depend::
rm -f .depend
clean:: clean-depend
- rm -f *.so *.o
+ rm -f *.so *.o *.oo
install:: all
for x in $(SELECTED_MODS:%=%.so); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done