aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile.moddir_rules
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2006-07-06 21:04:28 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2006-07-06 21:04:28 +0000
commit84cc5e8bd05435b7e181b4685f1d13cb74c81d7e (patch)
tree1c5c6cf99224906d0c4f8267a08a7922461ac144 /Makefile.moddir_rules
parent520519c03f7c7ed69a83148b5ef9ea7af9480841 (diff)
move rules file to prepare for generic rules file
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@37222 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'Makefile.moddir_rules')
-rw-r--r--Makefile.moddir_rules53
1 files changed, 53 insertions, 0 deletions
diff --git a/Makefile.moddir_rules b/Makefile.moddir_rules
new file mode 100644
index 000000000..a82fc99be
--- /dev/null
+++ b/Makefile.moddir_rules
@@ -0,0 +1,53 @@
+#
+# Asterisk -- A telephony toolkit for Linux.
+#
+# Makefile rules
+#
+# 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
+#
+
+define module_o_template
+$(1).o: $(1).c
+ $$(CC) -c -o $$@ $$< $$(CFLAGS) $$(MENUSELECT_OPTS_$(1):%=-D%) $(foreach dep,$(MENUSELECT_DEPENDS_$(1)),$$(value $(dep)_INCLUDE))
+endef
+
+define module_so_template
+$(1).so: $(1).o
+ $$(CC) $$(SOLINK) -o $$@ $$^ $(foreach dep,$(MENUSELECT_DEPENDS_$(1)),$$(value $(dep)_LIB))
+endef
+
+%.o: %.c
+ $(CC) -c -o $@ $< $(CFLAGS)
+
+$(foreach mod,$(SELECTED_MODS),$(eval $(call module_o_template,$(mod))))
+
+$(foreach mod,$(SELECTED_MODS),$(eval $(call module_so_template,$(mod))))
+
+.PHONY: clean clean-depend depend uninstall _all
+
+_all: $(SELECTED_MODS:%=%.so)
+
+clean-depend::
+ rm -f .depend
+
+clean:: clean-depend
+ rm -f *.so *.o
+
+install:: all
+ for x in $(SELECTED_MODS:%=%.so); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done
+
+uninstall::
+
+ifneq ($(wildcard .depend),)
+ include .depend
+endif
+
+depend: .depend
+
+.depend:
+ ../build_tools/mkdep $(CFLAGS) `ls *.c`