summaryrefslogtreecommitdiff
path: root/Makefile.rules
diff options
context:
space:
mode:
authorKevin P. Fleming <kpfleming@digium.com>2006-06-24 23:26:19 +0000
committerKevin P. Fleming <kpfleming@digium.com>2006-06-24 23:26:19 +0000
commit9d6c30422be9b5fe4aef9a7d3cbe88ce0c078763 (patch)
tree19a84f4c5db9c9f193cd4f21ad14ada3b252e105 /Makefile.rules
parent51453628a0bb768a0bb3bf5c083a7a3edca0d84d (diff)
commit missing file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35854 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'Makefile.rules')
-rw-r--r--Makefile.rules53
1 files changed, 53 insertions, 0 deletions
diff --git a/Makefile.rules b/Makefile.rules
new file mode 100644
index 000000000..a82fc99be
--- /dev/null
+++ b/Makefile.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`