summaryrefslogtreecommitdiff
path: root/default.mk
diff options
context:
space:
mode:
Diffstat (limited to 'default.mk')
-rw-r--r--default.mk54
1 files changed, 54 insertions, 0 deletions
diff --git a/default.mk b/default.mk
new file mode 100644
index 0000000..e65bad8
--- /dev/null
+++ b/default.mk
@@ -0,0 +1,54 @@
+# Common makefile settings
+# Copyright 2006-2007 Gentoo Foundation
+
+DESTDIR = /
+ROOT = /
+LIB = lib
+
+#
+# Recursive rules
+#
+
+SUBDIRS_ALL = $(patsubst %,%_all,$(SUBDIRS))
+SUBDIRS_CLEAN = $(patsubst %,%_clean,$(SUBDIRS))
+SUBDIRS_INSTALL = $(patsubst %,%_install,$(SUBDIRS))
+
+all:: $(SUBDIRS_ALL)
+clean:: $(SUBDIRS_CLEAN)
+install:: $(SUBDIRS_INSTALL)
+
+# Hmm ... possible to combine these three and not be ugly ?
+%_all:
+ $(MAKE) -C $(patsubst %_all,%,$@) all
+ if test -d $(patsubst %_all,%,$@).$(OS) ; then $(MAKE) -C $(patsubst %_all,%,$@).$(OS) all ; fi
+%_clean:
+ $(MAKE) -C $(patsubst %_clean,%,$@) clean
+ if test -d $(patsubst %_clean,%,$@).$(OS) ; then $(MAKE) -C $(patsubst %_clean,%,$@).$(OS) clean ; fi
+%_install:
+ $(MAKE) -C $(patsubst %_install,%,$@) install
+ if test -d $(patsubst %_install,%,$@).$(OS) ; then $(MAKE) -C $(patsubst %_install,%,$@).$(OS) install ; fi
+
+
+#
+# Install rules
+#
+
+INSTALL_DIR = install -m 0755 -d
+INSTALL_EXE = install -m 0755
+INSTALL_FILE = install -m 0644
+INSTALL_SECURE = install -m 0600
+
+install:: $(EXES) $(FILES) $(FILES_NOEXIST) $(MANS)
+ test -n $(DIR) && $(INSTALL_DIR) $(DESTDIR)$(DIR)
+ for x in $(EXES) ; do $(INSTALL_EXE) $$x $(DESTDIR)$(DIR) || exit $$? ; done
+ for x in $(FILES) ; do $(INSTALL_FILE) $$x $(DESTDIR)$(DIR) || exit $$? ; done
+ for x in $(FILES_APPEND) ; do if test -e $(DESTDIR)$(DIR)/$$x ; then cat $$x >> $(DESTDIR)$(DIR)/$$x || exit $$? ; else $(INSTALL_FILE) $$x $(DESTDIR)$(DIR) || exit $$? ; fi ; done
+ for x in $(FILES_NOEXIST) ; do if ! test -e $(DESTDIR)$(DIR)/$$x ; then $(INSTALL_FILE) $$x $(DESTDIR)$(DIR) || exit $$? ; fi ; done
+ for x in $(FILES_SECURE) ; do $(INSTALL_SECURE) $$x $(DESTDIR)$(DIR) || exit $$? ; done
+ for x in $(MANS) ; do \
+ ext=`echo $$x | sed -e 's/^.*\\.//'` ; \
+ $(INSTALL_DIR) $(DESTDIR)$(DIR)/man$$ext || exit $$? ; \
+ $(INSTALL_FILE) $$x $(DESTDIR)$(DIR)/man$$ext || exit $$? ; \
+ done
+
+.PHONY: all clean install